【问题标题】:Why don't my assets show up running in production on my laptop?为什么我的资产没有显示在我的笔记本电脑上的生产环境中?
【发布时间】:2015-07-24 00:27:10
【问题描述】:
我的生产 Rails 4.2.3 应用程序的资产行为不正确。我在一些资产上遇到了很多失误。自然,它们在开发中表现得很好。
所以我想我会尝试在我的笔记本电脑上运行该应用程序。我跑了:
rake 资产:预编译
并使用以下命令启动服务器:
RAILS_ENV=生产轨道 s
哎呀!没有资产出现。画面简直一团糟。为什么这如此困难,我该怎么做才能真正以应有的方式查看应用程序?
【问题讨论】:
标签:
ruby-on-rails
ruby-on-rails-4
asset-pipeline
【解决方案1】:
默认情况下,Rails 在生产模式下不提供资源。相反,它假定您配置了一个单独的 Web 服务器(例如 Nginx),以提供来自 public/assets 目录的资产。
如果您希望在运行RAILS_ENV=production rails s 时能够看到资产,那么您需要更改此设置:
# In config/environments/production.rb
config.serve_static_files = true
现在当你这样做时:
RAILS_ENV=production rake assets:precompile
RAILS_ENV=production rails s
您应该会看到资产。