Coffeescript и Haml с ненавязчивым Javascript (data-remote) в Rails 3.1
Я искал le interwebs, но я не нашел кого-то, испытывающего ту же проблему, что и я, поэтому я предлагаю свой вопрос здесь.
Я только начал использовать Rails 3.1 с Compass, Haml и CoffeeScript и столкнулся с проблемой. Когда я переименую свой файл JavaScript, специфичный для контроллера, расположенный в app/assets/javascript/index.js
до index.js.coffee
и переведя код JavaScript в CoffeeScript, все работает так, как ожидалось - файл запрашивается браузером и компилируется "на лету" в JavaScript. Изменения в файле CoffeeScript также вызывают повторную компиляцию.
Однако, когда я пытаюсь сделать это с ненавязчивым JavaScript (:remote => true
) и переименую уже работающий файл JavaScript, расположенный в папке просмотра app/views/index/index.js.haml
- index.js.coffee.haml
, и переведю код, включенный Rails, Rails не распознает его как CoffeeScript, который необходимо скомпилировать.
Что я делаю неправильно? Должен ли я активно включать оценку CoffeeScript для представления? Где?
Ответы
Ответ 1
Консоль активов, представленная в Rails 3.1, автоматически скомпилирует активы coffeescript в javascript для вас, как вы уже упоминали. В настоящее время это не относится к представлениям: будут скомпилированы только файлы в app/assets/javascripts.
Чтобы использовать Coffeescript во взглядах, вам нужно будет использовать https://github.com/markbates/coffeeBeans.
Обновление: за комментарий Kyle Heironimus ниже, похоже, эта функция может быть предоставлена coffe-rails (см. https://github.com/rails/coffee-rails и http://rubygems.org/gems/coffee-rails)