Rails 3.1资产管道与suburis

时间:2012-01-11 23:59:52

标签: ruby-on-rails-3.1 asset-pipeline

我正在尝试将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一起工作正常。

任何人都知道我可能会缺少什么?感谢。

1 个答案:

答案 0 :(得分:0)

自己想出来。在application.rb中,我添加了......

config.assets.prefix = "/my-suburi"

然后重新启动服务器。这改变了标题中的路径为"/my-suburi/screen.css"(注意缺少'资产'),但我确认它现在从/ app / assets / stylesheets文件夹正确拉出。