Coffeescript和Haml在Rails 3.1中使用不显眼的Javascript(数据远程)

Mar*_*ath 11 haml ruby-on-rails unobtrusive-javascript coffeescript

我搜索了le interwebs,但我没有找到遇到与我相同问题的人,所以我在这里提出我的问题.

我刚开始使用Rails 3.1与Compass,Haml和CoffeeScript并遇到了问题.当我重新命名位于我控制器专用的JavaScript文件app/assets/javascript/index.jsindex.js.coffeeJavaScript代码,并转换为CoffeeScript的,一切正常-该文件是由浏览器请求,并在飞行到JavaScript编译.CoffeeScript文件中的更改也会触发重新编译.

然而,当我尝试用不显眼的JavaScript(这样做:remote => true),并重新命名定位于视图文件夹中已经工作的JavaScript文件app/views/index/index.js.hamlindex.js.coffee.haml并翻译包含的代码,Rails不承认它是一个CoffeeScript中,需要进行编译.

我究竟做错了什么?我是否必须主动为视图启用CoffeeScript评估?哪里?

Dav*_*ulc 6

正如您所提到的,Rails 3.1中引入的资产管道将自动将coffeescript资产编译为javascript.目前情况并非如此:只会编译app/assets/javascripts中的文件.

要在视图中使用Coffeescript,您需要暂时使用https://github.com/markbates/coffeeBeans.

更新:根据下面的Kyle Heironimus的评论,似乎这个功能可以由coffe-rails提供(参见https://github.com/rails/coffee-railshttp://rubygems.org/gems/coffee-rails)