Asset Pipeline: проблема при развертывании моего приложения Rails 3.1 с Capistrano - PullRequest
2 голосов
/ 22 сентября 2011

Я использую Ruby on Rails 3.1.0 и Capistrano. У меня проблема с тем, чтобы приложение работало в производственном режиме (на удаленной машине установлена ​​Ubuntu 10.4 - моя локальная машина - MacOS под управлением Snow Leopard 10.6.7).

При развертывании с Capistrano я получаю эту ошибку:

uninitialized constant Rake::DSL

Когда я пытаюсь получить доступ к веб-странице, я получаю эту ошибку:

ActionView::Template::Error (application.css isn't precompiled)

Что мне нужно сделать, чтобы приложение работало в производственном режиме на удаленной машине?


В моем файле Capfile есть:

# Uncomment if you are using Rails' asset pipeline
load 'deploy/assets'

В моем файле Gemfile есть:

group :production do
  gem 'execjs'
  gem 'therubyracer'
end

Если я комментирую load 'deploy/assets', я больше не получаю uninitialized constant Rake::DSL, но все равно получаю ошибку ActionView::Template::Error (application.css isn't precompiled).

Ответы [ 3 ]

3 голосов
/ 27 сентября 2011

См:

http://guides.rubyonrails.org/asset_pipeline.html#precompiling-assets

"
If you have other manifests or individual stylesheets and JavaScript 
files to include, you can add them to the precompile array:

config.assets.precompile += ['admin.js', 'admin.css', 'swfObject.js']
"
0 голосов
/ 27 сентября 2011

Попытайтесь создать новый проект Rails 3.1 с использованием скаффолдинга и разверните его. Если все будет хорошо, сравните конфиги и другие файлы с вашим реальным проектом.

0 голосов
/ 22 сентября 2011

Попробуйте добавить config.assets.compile = true в production.rb. Надеюсь, это поможет.

...