Я знаю, что на это уже есть миллион вопросов, но я не могу это получить.Rails 3.1, исключить JS-файлы из конвейера активов
Я хочу включить большинство моих JS-файлов в конвейер активов, но у меня есть несколько, которые я хочу загрузить условно (или только на определенные страницы). Это большие, сложные файлы и никогда не будут использоваться 95% пользователей, поэтому я бы предпочёл не загружать их для каждого пользователя. Один набор JS файлов для календаря, помещенного в:
app/assets/javascripts/calendar
Так что мой манифест настроен, чтобы включить только верхний каталог (и исключить календарную подкаталог):
//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require_directory .
Мой конфиг/среды/production.rb:
# Compress JavaScripts and CSS
config.assets.compress = true
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = false
# Generate digests for assets URLs.
config.assets.digest = true
# This following config is left over from previous Rails app,
# so not sure if it's now unnecessary ...
# Disable Rails's static asset server
# In production, Apache or nginx will already do this
config.serve_static_assets = false
в представлении я использую nifty_layout Райан Бейтс вручную включить файлы календарь:
javascript "calendar/date.js", "calendar/jquery.weekcalendar.js", "calendar/custom.js"
Я попытался предварительно скомпилировать как в разработке, так и в производстве - документы не ясны, где я должен это делать, но это похоже на производство.
И когда я запускаю страницу, я получаю это:
ActionView::Template::Error (calendar/date.js isn't precompiled)
Я не хочу прекомпилирована. Я хочу, чтобы он загружался вручную. (На самом деле было бы нормально предварительно скомпилировать файл, отличный от основного application.js, который создается, но я не знаю, как это сделать.)
Какое решение?
Спасибо!