0

我正在将我的 Rails 3 应用程序部署到sapa我的托管服务的子目录中。为了点击/sapa子目录,我向 . 添加了一个范围routes.rb,但这让应用程序在/assets(不是我的应用程序的一部分)中查找 .js 和 .css 而不是/sapa/assets(我对 .js 非常满意assets,但出于某种原因,它不这样做)。因此,我在 my和 a中都使用了一个scope语句。routes.rbconfig.assets.prefixapplication.rb

不幸的是,这导致我rake assets:precompile构建到public/sapa/assets而不是仅仅进入public/assets。我可以将文件复制到正确的位置并且一切正常,但我希望有人告诉我一种更好的方法(必须存在,对吗?)。我可以获得相对资产路径(即没有 initial /)或者更标准的方式来做我想做的事情,以便 rails 理解?

/config/application.rb

  config.assets.prefix = "/sapa/assets"

/config/routes.rb

scope "sapa" do
  …
end

任何帮助,将不胜感激。

4

1 回答 1

0

根据定义(请参阅配置 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.
于 2012-11-13T15:12:01.673 回答