我正在尝试将Rails 3.1应用转换为使用资产管道。目前使用Rails 3.2.0.rc2。我正在将ENV['RAILS_RELATIVE_URL_ROOT']
设置为application.rb中的suburi。帮助程序工作正常,为文件生成正确的路径(包括suburi),但Rails路由不提供该路径下的文件。
例如,<%= stylesheet_link_tag 'screen', :media => 'screen' %>
正确生成代码<link href="/my-suburi/assets/screen.css" media="screen" rel="stylesheet" type="text/css" />
,但Rails不会提供此地址以外的任何内容。
如果我手动将浏览器指向http://localhost:3000/my-suburi/assets/screen.css
,我会得到一个ActionController :: RoutingError。但是,如果我将其指向http://localhost:3000/assets/screen.css
,我会收到该文件。其他一切都与子uris一起工作正常。
任何人都知道我可能会缺少什么?感谢。
答案 0 :(得分:0)
自己想出来。在application.rb
中,我添加了......
config.assets.prefix = "/my-suburi"
然后重新启动服务器。这改变了标题中的路径为"/my-suburi/screen.css"
(注意缺少'资产'),但我确认它现在从/ app / assets / stylesheets文件夹正确拉出。