ruby-on-rails - 为什么 "rails server -e production"使其成为 "No route matches "/”,并且样式表无法加载?

标签 ruby-on-rails ruby-on-rails-3

它正在运行Rails 3.0.0或Rails 3.0.5(使用Ruby 1.9.2)

处于开发模式时

rails server

然后http://localhost:3000可以正常工作,并且http://localhost:3000/foos将加载stylesheet.css
但是当它是
rails server -e production

那么现在突然,http://localhost:3000给出:
No route matches "/"

并且http://localhost:3000/foos可以运行,但是stylesheet.css尚未加载,并且在浏览器中将其打开显示:
No route matches "/stylesheets/scaffold.css"

生产与开发是否需要特殊的路线? (或者是出于其他原因?)

最佳答案

你需要设置

 config.serve_static_assets = true

config/environments/production.rb中。它可能已经在那里被注释掉了。

默认情况下,Rails不会在生产中单独提供静态文件,因为像Nginx或Apache这样的全功能Web服务器将始终自动为它们提供服务。

关于ruby-on-rails - 为什么 "rails server -e production"使其成为 "No route matches "/”,并且样式表无法加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5287805/

相关文章:

ruby-on-rails - Rails 3 中 activerecord 模型中的 DSL 配置

ruby-on-rails-3 - 在 Rails 3 应用程序中本地使用 Heroku Postgres 数据库

ruby-on-rails - 强制子域和删除子域

java - 有没有办法在 Ruby 中强制执行接口(interface)方法?

ruby-on-rails - 如何在 Rails 中使用 jsonb

ruby-on-rails - 如何编写以关键字结尾的方法

ruby-on-rails - Rails 3 已经发布,但是他们还会支持 Rails 2.3.x 吗?

ruby - 应该 validate_format_of 。 not_with 在框架中有问题(或者在我的理解中)

ruby-on-rails - Test::Unit Rails - 如何断言一个数字大于另一个数字?

ruby-on-rails - 如何在 Ruby on Rails 中调整 <%= form_for %> 表单的输入大小