我正在构建一个捆绑为 gem 的引擎(gmaps4rails)。我将引擎的 /public 复制到了 Rails 应用程序的 /public 中。
在开发中一切正常,但在生产中无法正常工作:似乎找不到静态资产(我的引擎和我的主应用程序)。
日志讲述了以下内容(只是摘要):
Started GET "/javascripts/application.js?1286294679" for 127.0.0.1 at Wed Nov 24 00:22:20 +0100 2010
ActionController::RoutingError (No route matches "/javascripts/application.js"):
Rendered /Users/me/.rvm/rubies/ree-1.8.7-2010.02/lib/ruby/gems/1.8/gems/actionpack-3.0.3/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (1.1ms)
Started GET "/stylesheets/gmaps4rails.css?1290554221" for 127.0.0.1 at Wed Nov 24 00:22:20 +0100 2010
ActionController::RoutingError (No route matches "/stylesheets/gmaps4rails.css"):
我做了几件事:
-
在我的应用程序的 production.rb 中,我设置:
config.serve_static_assets = true
这解决了问题,但不够优雅,我想将其保留为 false 并在引擎中添加配置:)
我听从了建议 here 没有成功。
出于性能原因,静态资产服务在生产模式下被禁用。您的网络服务器应该配置为服务这些资产。
看这个讨论如果您使用 nginx 作为网络服务器。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)