Я не могу предварительно скомпилировать свое приложение

Я не могу выполнить предварительную компиляцию с помощью команды --> bundle exec rake assets:precompile , она возвращает мне эту ошибку --> Don't know how to build task 'assets:precompile'.

Прежде чем прекомпилировать, я сделал bundle install --deployment --without development test

Рельсы 3.0.11

Ruby 1.9.2p320 (версия 35421 20 апреля 2012 г.) [x86_64-linux]


person Arcos    schedule 29.04.2014    source источник
comment
В Rails 3.0.x еще не было Asset Pipeline. Это было введено в Rails 3.1.   -  person Marek Lipka    schedule 29.04.2014


Ответы (1)


Вы сказали, что использовали установку пакета для предварительной компиляции, это не прекомпилирует ресурсы, а просто устанавливает ваши драгоценные камни, если вы хотите установить обновленные драгоценные камни на сервер rails, просто снова запустите bundle install или bundle update. Для рельсов 3.0 нет конвейера активов.

Если вы действительно хотите использовать конвейер ресурсов, есть этот резервный порт из документации:

В вашем Gemfile:

gem "sprockets_rails3_backport"
...plus whatever supplementary gems you want for the asset pipeline:

gem 'coffee-script', '2.2.0'
gem 'therubyracer', '0.9.9'
gem 'uglifier', '>= 1.0.3'

В ваших маршрутах.rb:

MyApp::Application.routes.draw do
  if (app = Rails.application).config.assets.compile
    mount app.assets => app.config.assets.prefix
  end

  # ...
end

Вот различные параметры config.assets и их значения по умолчанию:

config.assets.paths                    = []
config.assets.precompile               = [ Proc.new{ |path| !['.js', '.css'].include?(File.extname(path)) },
                                           /(?:\/|\\|\A)application\.(css|js)$/ ]
config.assets.prefix                   = "/assets"
config.assets.version                  = ''
config.assets.debug                    = false
config.assets.compile                  = true
config.assets.digest                   = false
config.assets.manifest                 = nil
config.assets.cache_store              = [ :file_store, "#{root}/tmp/cache/assets/" ]
config.assets.js_compressor            = nil
config.assets.css_compressor           = nil
config.assets.initialize_on_precompile = true
person Mike H-R    schedule 29.04.2014