Как построить задачу «Ресурсы: прекомпиляция» - PullRequest
30 голосов
/ 26 августа 2011

Я получаю эту ошибку на своем производственном сервере и не могу понять, почему. Это происходит при выполнении этой команды:

bundle exec rake assets:precompile RAILS_ENV=production

Я использую Rails 3.1.0.rc6

Ответы [ 5 ]

77 голосов
/ 31 августа 2011

Скорее всего, это из-за того, что для config/application.rb не требуется rails/all (по умолчанию), но для некоторых пользовательских требуется.

Чтобы решить эту проблему, добавьте в config/application.rb следующее:

require 'sprockets/railtie'
4 голосов
/ 07 августа 2012

Я знаю, что это старый пост, но я подумал, что он может помочь кому-то (возможно, моему будущему самому), если я добавлю это в ответы.

добавить в Capfile (или deploy.rb)

load 'deploy/assets'

добавить это в application.rb

require 'sprockets/railtie'
3 голосов
/ 02 сентября 2011

Я думаю, что это может быть потому, что вам не нужны драгоценные камни активов в производстве. По умолчанию rails ожидает, что вы предварительно компилируете свои активы в производство. Измените это в config / application.rb:

Закомментируйте эту строку:

Bundler.require * Rails.groups (: assets =>% w (тест разработки))

И раскомментируйте эту строку:

Bundler.require (: по умолчанию,: assets, Rails.env)

1 голос
/ 30 августа 2011

Странно.Вы всегда можете попробовать добавить

load "sprockets/assets.rake"

в ваш Rakefile.Он должен быть включен в actionpack railtie.

Мой Rakefile содержит:

require File.expand_path('../config/application', __FILE__)
Qnm::Application.load_tasks
0 голосов
/ 24 июля 2018

Я запускал эту команду - по чистой привычке - в корне приложения, предназначенного только для API, которое, разумеется, не имеет ресурсов.

...