ada*_*per 9 javascript ruby-on-rails coffeescript
新的Rails 3.1资产管道非常好,但由于所有CoffeeScript(或JavaScript)文件都被融合到每个页面中包含的单个文件中,因此它提出了这个问题:
如何将脚本的执行限制为特定的控制器或操作?我的CoffeeScript中有没有办法知道在请求期间使用了哪个控制器和操作,以便我可以在我的脚本中放置条件语句?
或者我完全以错误的方式接近这个?
Trevor Burnham在这里很好地回答了这个问题:如何将CoffeeScript文件与视图相关联?
他说:
有两种常见的方法:
使行为以特定元素的存在为条件.例如,运行注册表的代码应该以类似的方式开头
if $('#signup').length > 0
使行为以
body
元素上的类为条件.您可以使用ERB设置主体类.这通常也适用于样式表.代码就像是
if $('body').hasClass 'user'
如果你对CoffeeScript感兴趣,Trevor正在编写一本看起来非常好的书:http://pragprog.com/titles/tbcoffee/coffeescript
为什么不将特定控制器的 javascript 作为该控制器上的视图(因为它们对应于此,如果如此具体的话)?
如果它们足够通用,您可以使用类、id 或数据 (html5) 标记您的视图,并让您的 javascript 查找它们(这样您就可以重用您的代码)。
归档时间: |
|
查看次数: |
2851 次 |
最近记录: |