首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >没有与[GET] /assets匹配的路由

没有与[GET] /assets匹配的路由
EN

Stack Overflow用户
提问于 2011-10-20 07:33:57
回答 5查看 84.1K关注 0票数 148

我有一个Rails应用程序,我正在尝试在生产环境中进行测试。我运行了RAILS_ENV=production rake assets:precompile,它在/public/assets中生成了我的所有资产。问题是,当我使用RAILS_ENV=production rails s thin启动我的应用程序时,我得到:

代码语言:javascript
复制
ActionController::RoutingError (No route matches [GET] "/assets/application-eff78fd67423795a7be3aa21512f0bd2.css"):

这个文件在/public/assets/application-eff78fd67423795a7be3aa21512f0bd2.css上确实存在。

有没有想过为什么我要买这个RoutingError

EN

回答 5

Stack Overflow用户

发布于 2011-10-25 00:22:18

除了Ryan上面所说的,Rails资产管道指南还描述了如何设置Apache或nginx来为您提供静态资产。

http://guides.rubyonrails.org/asset_pipeline.html

你真的应该设置nginx或Apache来服务静态资源,因为它们比mongrel/thin/unicorn更适合这个任务。

票数 12
EN

Stack Overflow用户

发布于 2016-12-27 06:50:14

在Rails5中,config.serve_static_files选项已经更改,所以现在需要

代码语言:javascript
复制
config.public_file_server.enabled = true

为本地资产提供服务。

票数 4
EN

Stack Overflow用户

发布于 2016-01-26 02:52:07

Rails4.2在您的配置/环境/ staging.rb和production.rb文件中添加/更改了这一行:

代码语言:javascript
复制
config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?

如果没有设置RAILS_SERVE_STATIC_FILES,并且您是来自Rails服务器的服务资产(就像使用Unicorn一样),那么它将缺省为"false",并且将发生RoutingError。

这是一个简单的修复方法:

代码语言:javascript
复制
config.serve_static_files = true
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7829480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档