Показать частичное отсутствие ответа на coffeescript

#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 файл