我正在将我的Rails 3应用程序部署到我的托管服务的子目录sapa
。要点击/sapa
子目录,我向routes.rb
添加了一个范围,但这使得应用程序在/assets
(不是我的应用程序的一部分)中查找.js和.css而不是/sapa/assets
(我对assets
感到非常满意,但由于某种原因,它并没有这样做)。因此,我在scope
中使用routes.rb
语句,在config.assets.prefix
中使用application.rb
。
不幸的是,这导致我的rake assets:precompile
构建为public/sapa/assets
而不是public/assets
。我可以将文件复制到正确的位置,一切正常,但我希望有人告诉我一个更好的方法(一个必须存在,对吗?)。我可以获得相对资产路径(即没有初始/
)或者可能采用更标准的方式来实现我想要的东西,以便铁路理解吗?
/config/application.rb
config.assets.prefix = "/sapa/assets"
/config/routes.rb
scope "sapa" do
…
end
任何帮助都将不胜感激。
答案 0 :(得分:0)
根据定义(请参阅Configuring Rails),config.assets.prefix
配置似乎用于定义投放资产的位置。
config.assets.prefix defines the prefix where assets are served from. Defaults to /assets.
你能解释一下,是否有理由将“/ sapa / assets”放入config.assets.prefix
变量?或许您正在寻找config.assets.paths
配置变量?
config.assets.paths contains the paths which are used to look for assets. Appending paths to this configuration option will cause those paths to be used in the search for assets.