如何解决如何将CoffeeScript文件与视图关联?
| 刚刚安装了Rails 3.1 rc1,并尝试使用新资产管道来管理javascript的最佳方法 默认情况下,所有coffeescript都编译为单个application.js文件,这是一件好事。 每个单独的咖啡脚本文件都附加到js文件中,并包装在通过调用方法执行的匿名函数中 一种常见的情况是使用一些jquery将各种形式转换为ajax形式,更新UI等。 这些脚本中有许多是特定于控制器或动作的,我尝试使用“常规”方式来处理此问题, 由于所有内容都包裹在一个匿名函数中,我该如何执行 特定控制器/动作的代码,默认情况下,所有匿名函数都在执行 我确实玩过一些技巧,将控制器和动作名称加载到js变量中,然后在 coffeescript检查那些有条件地运行代码,我不是很喜欢 我最初的想法是,每个coffee文件都将包含一个js名称空间/对象,而我将从视图中调用特定的名称/对象, 将使用default_bare = true配置来加标 请参阅如何在Rails 3.1 for CoffeeScript中使用选项“ --bare”? 编辑 环顾四周:这看起来可能是正确的方法-Rails 3.1和Coffeescript出现“找不到变量”错误解决方法
有两种常见方法:
使行为取决于特定元素的存在。例如,用于运行注册表的代码应以类似以下内容的开头
if $(\'#signup\').length > 0
使行为取决于body
元素上的类。您可以使用ERB设置身体类别。这对于样式表通常也是理想的。该代码将类似于
if $(\'body\').hasClass \'user\'
,gistyle是一个简单的工具,可帮助您运行特定于动作的javascript代码。
按照其设置,您可以在body元素中设置一些数据属性,以表示当前的控制器和动作名称。然后,它将仅在加载相应视图时调用该操作。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。