Подтвердить что ты не робот

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 для представления? Где?

4b9b3361

Ответ 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)