Проблема
У меня есть приложение Rails 3.0.4, которое я обновляю до 3.1.4, следуя инструкциям из видео Railscast: «Обновление до рейки 3,1".
Теперь у меня проблемы с активами, потому что они не разрешены, выдавая сообщения в журнале сервера, подобные этому:
Started GET "/assets/application.css" for 127.0.0.1 at 2012-04-08 03:57:13 -0500
Served asset /application.css - 404 Not Found (15ms)
ActionController::RoutingError (No route matches [GET] "/assets/application.css"):
Rendered /usr/local/rvm/gems/ruby-1.9.2-p318/gems/actionpack-3.1.4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (14.3ms)
Started GET "/assets/application.js" for 127.0.0.1 at 2012-04-08 03:57:13 -0500
Served asset /application.js - 404 Not Found (35ms)
ActionController::RoutingError (No route matches [GET] "/assets/application.js"):
Эти файлы находятся в каталоге assets
. :
$ ls app/assets/*/application*
app/assets/javascripts/application.js app/assets/stylesheets/application.css
и содержит вот это:
$ cat app/assets/javascripts/application.js
//= require jquery
//= require jquery_ujs
//= require_self
//= require_tree .
$ cat app/assets/stylesheets/application.css
/*
*= require_self
*= require_tree .
*/
Полагаю все настроено. Здесь я помещаю несколько фрагментов файлов:
Gemfile
, содержит требуемые активы gems:
group :assets do
гем 'sass-rails', '~> 3.1.3'
gem 'coffee-rails', '~> 3.1.0'
драгоценный камень 'углифатор'
конец
application.rb
, активы включены:
config.assets.enabled = true
config.assets.version = '1.0'
development.rb
:
config.assets.compress = false
config.assets.debug = истина
наконец... application.html.erb
layout:
Стадия
Сейчас я нахожусь в среде разработки.
Тесты
Если я запрошу http://localhost:3000/assets/images/rails.png
, он выдает Маршрут не соответствует [GET] "/assets/images/rails .png"
, но файл есть:
$ ls app/assets/images/rails.png
приложение/активы/изображения/rails.png
Затем я выполняю rake assets:precompile
:
$ bundle exec rake assets:precompile
/usr/local/rvm/rubies/ruby-1.9.2-p318/bin/ruby /usr/local/rvm/gems/ruby-1.9.2-p318/bin/rake assets:precompile:all RAILS_ENV=production RAILS_GROUPS= ресурсы
/usr/local/rvm/rubies/ruby-1.9.2-p318/bin/ruby /usr/local/rvm/gems/ruby-1.9.2-p318/bin/rake assets:precompile:nondigest RAILS_ENV=production RAILS_GROUPS=assets
Затем запустите сервер ( rails s
) и снова запросите изображение ( rails.png
):
$ rails s
=> Загрузка WEBrick
=> Приложение Rails 3.1.4, начатое в разработке на http://0.0.0.0:3000
=> Вызов с -d для отсоединения
=> Ctrl-C для выключения сервера
/usr/local/rvm/gems/ruby-1.9.2-p318/gems/actionpack-3.1.4/lib/action_dispatch/http/mime_type.rb:101: предупреждение: уже инициализирован константный PDF
[2012-04-08 04:53:06] ИНФОРМАЦИЯ WEBrick 1.3.1
[2012-04-08 04:53:06] ИНФОРМАЦИЯ ruby 1.9.2 (2012-02-14) [i686-linux]
[2012-04-08 04:53:06] ИНФОРМАЦИЯ WEBrick::HTTPServer#start: pid=16702 порт=3000
Начат GET "/assets/images/rails.png" для 127.0.0.1 08.04.2012 04:53:14 -0500
Обслуживаемый ресурс /images/rails.png — 404 Not Found (38 мс)
ActionController::RoutingError (Нет маршрута, соответствующего [GET] "/assets/images/rails.png"):
Рендеринг /usr/local/rvm/gems/ruby-1.9.2-p318/gems/actionpack-3.1.4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb в файле escapes/layout (125,2 мс)
Так Что не так?, Я что-то не так делаю?