Coffeescript и Haml с ненавязчивым Javascript (data-remote) в Rails 3.1 - PullRequest
11 голосов
/ 25 ноября 2011

Я искал 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 не распознает его как CoffeeScript, который нужно скомпилировать.

Что я делаю не так?Нужно ли мне активно включать оценку CoffeeScript для представления?Где?

1 Ответ

6 голосов
/ 25 ноября 2011

Конвейер ресурсов, представленный в Rails 3.1, автоматически скомпилирует ресурсы coffeescript в javascript, как вы упомянули. В настоящее время это НЕ относится к представлениям: будут скомпилированы только файлы в app / assets / javascripts.

Чтобы использовать Coffeescript в представлениях, вам нужно пока использовать https://github.com/markbates/coffeeBeans.

Обновление: согласно приведенному ниже комментарию Кайла Хейронимуса, кажется, что эта функциональность может быть предоставлена ​​coffe-rails (см. https://github.com/rails/coffee-rails и http://rubygems.org/gems/coffee-rails)

...