#javascript #jquery #ruby-on-rails #ruby #coffeescript
#javascript #jquery #ruby-on-rails #ruby #coffeescript
Вопрос:
Я использую rails 3.2.17 и ruby 1.9.3p484.
Gemfile:
group :assets do
gem 'uglifier', '>= 1.0.3'
gem 'jquery-rails'
gem 'coffee-rails'
end
Мой application.js требует:
//= require_self
//= require jquery
//= require jquery_ujs
//= require jquery.form
//= require jquery.ui.all
//= require jquery.ui.sortable
//= require froogaloop
//= require redactor-rails
//= require redactor-config
//= require vimeo
//= require s3upload
//= require s3_direct_upload
//= require permission_check
//= require jquery.livequery
//= require local
Имя модели — эпизоды
Я создал новый JS-файл с именем episodes.js.coffee
мой файл _show.html.erb не отвечает на coffeescript / javascript / jquery. Я попытался добавить свой JS-код в application.js а также попытался поместить //= require эпизод на мой application.js
Это работает только тогда, когда я помещаю JS-код непосредственно в представления.
Есть идеи, что является причиной этого?
Комментарии:
1. Вы включаете свой файл javascript в html-файл?
2. по <%= javascript_include_tag(‘episodes.js.coffee’) %> ? Я получаю ошибку шаблона
3. @user2612713 куда вы включаете этот тег? какой макет вы используете для своего метода my_show?
4. Я попытался включить его в _show.html.erb
5. @user2612713 вы не можете добавить этот тег в свой частичный, т.е. _show.htm.erb. Вам нужно добавить этот тег в файл макета
Ответ №1:
Как я уже упоминал в своем комментарии, вы не можете включить javascript_include_tag внутри вашего partial, его правильное место находится в макете, так как именно там находится ваш тег head . Однако вы можете написать js для конкретной страницы.
В вашем случае вам нужно просто написать //= require_tree .
внутри вашего application.js досье. Он автоматически включит все ваши js-файлы, и если вы хотите указать свои js-файлы по отдельности, то вы можете сделать //= require episodes
внутри вашего application.js файл