Rails 3.1 проблема с расширением файла coffeescript

У меня есть это стандартное приложение rails 3.1, прежде чем что-либо добавлять, я тестировал, чтобы убедиться, что активы работают так, как рекламируется.

поэтому я создал это приложение/активы/javascripts/test.coffee

где test.coffee — это просто

оповещение "привет"

Когда я перехожу к http://127.0.0.1:3000/assets/test.coffee , я вижу

(function() {
  alert("hi");
}).call(this);

Но если я сделаю http://127.0.0.1:3000/assets/test.js , я получаю ошибку маршрутизации; но я думал, что это правильное поведение, а не выше. Что я сделал не так?


person Nik So    schedule 30.06.2011    source источник


Ответы (1)


Попробуйте переименовать файл js в test.js.coffee

Расширение Coffee указывает, что этот файл должен быть предварительно обработан обработчиком кофе, так же, как:

  • index.html.haml это просто index.html с процессором haml или
  • style.css.sass это просто style.css с процессором sass
person MBO    schedule 30.06.2011
comment
Да, это работает. -- Я действительно знал об этом; причина, по которой я все равно должен был спросить, заключается в том, что я использую этот плагин rails-backbone, в котором есть генераторы, которые генерируют файлы filename.coffee в app/assets/javascripts, и эти сгенерированные файлы требуются в файле application.js (но это очевидно, не сработало, но опять же, почему бы автору не добавить .js, если он достаточно хорош, чтобы сделать жемчужину). Тут я запутался и решил попробовать получить доступ к обычным файлам .coffee. Вот git этого гема github.com/codebrew/backbone-rails - person Nik So; 30.06.2011
comment
@Nik Вы, вероятно, можете использовать только assets/test (без какого-либо расширения) в качестве источника javascript, и он должен работать, но я не уверен в типе содержимого, отправляемом с файлом без расширения. - person MBO; 30.06.2011
comment
ух ты, это работает. И вам не кажется странным, что расширение не требуется? Во всяком случае, для целей этого вопроса я считаю, что это ответ. - person Nik So; 30.06.2011