ruby-on-rails - 为什么使用WebRick在生产中得到 "cache: [GET/] miss"?

标签 ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.1 webrick

我无法使用WebRick在生产模式下测试我的网站,因为它引发了缓存错误。在开发和测试模式下,一切都完美运行。

我已经在config/environments/production.rb中设置了此选项:

config.serve_static_assets = true

然后我跑了:
bundle exec rake assets:precompile

现在,我启动服务器:
david$ rails s -e production
=> Booting WEBrick
=> Rails 3.2.1 application starting in production on http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server
[2012-01-31 19:52:35] INFO  WEBrick 1.3.1
[2012-01-31 19:52:35] INFO  ruby 1.9.3 (2011-10-30) [x86_64-darwin11.2.0]
[2012-01-31 19:52:35] INFO  WEBrick::HTTPServer#start: pid=13329 port=3000

当我去http://localhost:3000时,我得到“很抱歉,但是出了点问题。”。在终端中,这是输出的内容:
cache: [GET /] miss

我在这里停滞了。我不知道该怎么办。

最佳答案

问题在于 Assets 管道,必须在生产模式下对其进行正确配置,因为不会自动预编译文件。

就我而言,我正在插入一个仅存在于一页中的javascript文件(带有javascript_include_tag),因此它不包含在application.js list 中。

在这种情况下,运行assets:precompile时 Assets 管道不会预编译文件。

为了包括丢失的文件,我们必须编辑config/environments/production.rb并添加以下行:

config.assets.precompile += %w( script1.js )

您会注意到该行已经存在,但是已对其进行了注释。阅读评论以获得更多说明。有关更多信息,请查看official asset pipeline guide

关于ruby-on-rails - 为什么使用WebRick在生产中得到 "cache: [GET/] miss"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9085198/

相关文章:

ruby-on-rails - 持续集成建议?

ruby-on-rails - 初始查询后的 ActiveRecord 预加载

ruby-on-rails - Rails 3.1 ActionMailer 自定义模板路径?

ruby-on-rails - 仅将字符串的第一个字符大写并保留其他字符? ( rails )

ruby-on-rails - 如何在 Rails 中解码 JSON 对象

ruby-on-rails - 在 Ruby on Rails 中创建动态页面

ruby-on-rails - 如何在 Rails 3 中自定义 to_json 响应

ruby-on-rails - 在 ruby​​ on rails 中,通过 Controller 创建操作将当前用户 ID 保存到数据库是一个错误的选择吗?

cucumber - 测试 Rails 3.1 模型创建时的 ActionDispatch::ClosedError (RSpec/Cucumber)

ruby-on-rails - 是否可以使用 Rails 渲染 js 文件并缩小输出?