Я получаю эту ошибку на своем производственном сервере и не могу понять, почему. Это происходит при выполнении этой команды:
bundle exec rake assets:precompile RAILS_ENV=production
Я использую Rails 3.1.0.rc6
Скорее всего, это из-за того, что для config/application.rb не требуется rails/all (по умолчанию), но для некоторых пользовательских требуется.
config/application.rb
rails/all
Чтобы решить эту проблему, добавьте в config/application.rb следующее:
require 'sprockets/railtie'
Я знаю, что это старый пост, но я подумал, что он может помочь кому-то (возможно, моему будущему самому), если я добавлю это в ответы.
load 'deploy/assets'
Я думаю, что это может быть потому, что вам не нужны драгоценные камни активов в производстве. По умолчанию rails ожидает, что вы предварительно компилируете свои активы в производство. Измените это в config / application.rb:
Закомментируйте эту строку:
Bundler.require * Rails.groups (: assets =>% w (тест разработки))
И раскомментируйте эту строку:
Bundler.require (: по умолчанию,: assets, Rails.env)
Странно.Вы всегда можете попробовать добавить
load "sprockets/assets.rake"
в ваш Rakefile.Он должен быть включен в actionpack railtie.
Мой Rakefile содержит:
require File.expand_path('../config/application', __FILE__) Qnm::Application.load_tasks
Я запускал эту команду - по чистой привычке - в корне приложения, предназначенного только для API, которое, разумеется, не имеет ресурсов.