ruby-on-rails - Ruby 更新后 Rails 3.1rc4 Assets 管道中断?如何重新激活/配置它?

标签 ruby-on-rails ruby-on-rails-3 rvm asset-pipeline

这在某种程度上是相关的,但我不确定如何/为什么?

刚刚通过 RVM 的 rvm upgrade 从 Ruby 1.9.2-p180 升级到 1.9.2-p290命令...现在我的 Assets 管道已“损坏”。

期间rvm upgrade ...我注意到每个 gem 集都有一堆错误:

ERROR: Error running 'rvm gemset pristine' under ,
please read /Users/meltemi/.rvm/log//gemset.pristine.log

我让升级继续,因为 gemset.pristine.log 中没有太多有趣的内容...此外,/Users/meltemi/.rvm/log//gemset.pristine.log不(不能?)存在于那个确切的路径中吗?路径名中存在两个连续的“//”?无论如何...

测试一个小应用程序,尽管它启动并似乎在运行,但并未加载任何 Assets (图像、CSS 等)。开发日志有很多Not Found关于这些缺失 Assets 的错误(见下文),即使它们存在于 app/assets/images 中和app/assets/stylesheets等等...?

有人知道这里发生了什么吗?似乎管道已经以某种方式崩溃了......好像 Rails 不再知道在应用程序/ Assets 中查找 Assets ,也许?我如何测试/验证/修复/重新激活这个“管道”?

$ rails s
=> Booting WEBrick
=> Rails 3.1.0.rc4 application starting in development on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2011-07-25 23:11:38] INFO  WEBrick 1.3.1
[2011-07-25 23:11:38] INFO  ruby 1.9.2 (2011-07-09) [x86_64-darwin10.8.0]
[2011-07-25 23:11:38] INFO  WEBrick::HTTPServer#start: pid=74881 port=3000


Started GET "/" for 127.0.0.1 at 2011-07-25 23:11:43 -0700
  Processing by PostsController#index as HTML
  Post Load (0.2ms)  SELECT "posts".* FROM "posts" ORDER BY posts.created_at DESC
  User Load (0.3ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.3ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 6
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 5
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 4
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 2
  CACHE (0.0ms)  SELECT "users".* FROM "users" WHERE "users"."id" = 1 LIMIT 1
  Photo Load (0.2ms)  SELECT "photos".* FROM "photos" WHERE "photos"."post_id" = 1
Rendered posts/index.html.haml within layouts/application (3016.4ms)
Rendered layouts/_header.html.haml (9.7ms)
Completed 200 OK in 3143ms (Views: 3138.2ms | ActiveRecord: 2.9ms)


Started GET "/assets/application.css" for 127.0.0.1 at 2011-07-25 23:11:47 -0700
Served asset /application.css - 404 Not Found (1ms)

ActionController::RoutingError (No route matches [GET] "/assets/application.css"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (1.2ms)


Started GET "/assets/application.js" for 127.0.0.1 at 2011-07-25 23:11:47 -0700
Served asset /application.js - 404 Not Found (0ms)

ActionController::RoutingError (No route matches [GET] "/assets/application.js"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.8ms)


Started GET "/assets/racer-outline.png" for 127.0.0.1 at 2011-07-25 23:11:48 -0700
Served asset /racer-outline.png - 404 Not Found (0ms)

ActionController::RoutingError (No route matches [GET] "/assets/racer-outline.png"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (3.2ms)


Started GET "/assets/ray.png" for 127.0.0.1 at 2011-07-25 23:11:48 -0700
Served asset /pogo.png - 404 Not Found (0ms)

ActionController::RoutingError (No route matches [GET] "/assets/ray.png"):


Rendered /Users/meltemi/.rvm/gems/ruby-1.9.2-p290@rails3/gems/actionpack-3.1.0.rc4/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (1.2ms)

最佳答案

sprocket 2.0.0.beta.11 版本似乎破坏了 Assets 管道。推杆

gem '链轮', '= 2.0.0.beta.10'

进入你的 Gemfile 似乎可以解决问题(它对我有用)。无论出于何种原因,Rails 似乎都会自动使用最新版本的测试版,因此如果您最近刚刚开始项目或更新了所有 gem,它可能会破坏它。

请注意,此信息最初不是我的,我从 http://groups.google.com/group/rubyonrails-core/browse_thread/thread/59d8c7813b4d1bbe?pli=1 获得了修复

他解释了版本的问题。 2.0.0.beta.11 但我使用的是版本。 2.0.0.beta.12 具有相同的结果,因此看起来他们还没有修复它。

编辑:似乎将 Rails 升级到 3.1.rc5 也可以解决问题

关于ruby-on-rails - Ruby 更新后 Rails 3.1rc4 Assets 管道中断?如何重新激活/配置它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6826154/

相关文章:

ruby-on-rails - accepts_nested_attributes_for 是否也应该正确设置关联?

ruby-on-rails-3 - 带有 :remote=>true and including :class and :id 的 rails3 中 block 的 link_to 的语法

ruby - VPS apache 配置 - 添加最新乘客 gem 后无效命令 'PassengerDefaultRuby'

ruby-on-rails - 在另一个 rails 引擎中访问设备 current_user

CSS 未在 heroku Hartl Ch 10 中加载

ruby-on-rails - 设计题: Aliases for a Location model (Rails)

ruby-on-rails-3 - 使用 dateAxisRenderer 行的 jqplot 不呈现,任何想法为什么?

ruby-on-rails - Rails 应用程序中的猴子修补数据库适配器

rvm Recipe 在 vagrant 中安装 ruby​​ 失败

ruby-on-rails - 如何拥有多个版本的 Ruby 和 Rails,以及它们在 Windows 上的组合?