在Rails 3中更改伪绝对资产路径

时间:2016-08-20 02:08:59

标签: ruby-on-rails ruby-on-rails-3 asset-pipeline actionview

我尝试了我发现的每一种方式,但我不知道该怎么做。

Rails总是写/assets/...并希望./assets/assets/,因为我的应用程序位于子文件夹中,而不是在根文件夹中。

我尝试了config.action_controller.asset_host = ".",但Rails写了http://./assets/

我尝试了config.assets.prefix = ".",但Rails写了/./assets/

假设我的应用程序位于:http://domain.com/example/,Rails的默认行为每个路径都指向http://domain.com/而不是http://domain.com/example/。我不想指定绝对路径,因为这不是一个可移植的解决方案。

以此为例:http://apidock.com/rails/ActionView/Helpers/AssetTagHelper/image_tag

1 个答案:

答案 0 :(得分:0)

您应该可以在Rails 3下编辑环境文件(config/environments/development.rb),添加以下行:

config.action_controller.relative_url_root = '/example'

此行允许您在名为“example”的子目录中运行。请注意,您也希望在production.rbtest.rb中复制此更改。