2
我曾在我的production.rb
此设置:的Rails 3.1.3生产,资产管道:没有路由匹配
config.assets.compile = true
但在使用最近用户上传的图片中,我仍然得到这个错误
ActionController::RoutingError (No route matches [GET] "/assets...
我在这里做错了什么?
我已经在生产环境的服务器上测试了这个与乘客一起运行的测试,并且我在本地机器上用WEBrick
在生产环境中测试了这一点。
=====解决=======
修好了我的这种设置情况对我production.rb
# Don't fallback to assets pipeline if a precompiled asset is missed
config.assets.compile = true
# Generate digests for assets URLs
config.assets.digest = false
感谢您回复文档 - 我花了几个小时,直到我看到您的文章。 – jpwynn 2012-04-11 01:26:48
我不认为你从预编译静态资产中获得任何好处。我相信你基本上回退到未预编译的资产,因为它找不到它们。这就像在开发模式下运行你的应用程序。 – henry74 2013-02-07 03:03:20
@ henry74在这种情况下唯一的好处是,在尝试加载最近上传的图像时,我不会收到错误,否则我不得不在每次上传时预先编译资源,这不适用于生产服务器。一个更好的方法是使用一个单独的资产服务器,如亚马逊的S3 Simple Storage Service来提供资产,并将应用程序保留在预编译的内部资产中。 – 2013-02-07 14:50:42