Как заставить контроллер / просмотр конкретного Javascript работать в рабочей среде Rails 3.1 - PullRequest
2 голосов
/ 13 января 2012

Я пытаюсь создать Javascript для конкретного вида / контроллера в Rails 3.1.Я следовал методу из конвейера ресурсов Rails 3.1: как загрузить скрипты для контроллера? и http://tech.thereq.com/post/10754558724/the-rails-3-1-asset-pipeline-in-the-real-world-jquery.

Это прекрасно работает в моей среде разработки.Однако, это терпит неудачу в моей производственной среде.Я получаю сообщение ActionView :: Template :: Error (users.js не скомпилирован).

Мой файл user.js.coffee в каталоге ... / app / assets / javascript содержит

//= require i18n/grid.locale-en
//= require jquery.jqGrid.min    
//
//= require grid_object.js

Мой файл index.html.haml внутри ... / app / views / users содержит

- javascript 'users'
...

Мой application_helper содержит

def javascript(*files)
  content_for(:head) { javascript_include_tag(*files) }
end

Файл макета моего приложениясодержит

%= yield(:head) %>

Наконец, мой файл application.js внутри ... / app / assets / javascript содержит

//= require jquery
//= require jquery-ui

Чего мне не хватает?

1 Ответ

1 голос
/ 14 января 2012

Я решил использовать постфикс (то есть '_pc') для всего моего контроллера / вида специфического JavaScript, который нужно было предварительно скомпилировать. Требуемые изменения:

На мой взгляд, я использовал:

- javascript require 'users_pc'

Я переименовал свой файл users.js.coffee в users_pc.js.coffee

Наконец, я обновил свой файл ... / config / environment / production.rb, чтобы он содержал

- config.assets.precompile << '*_pc.js'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...