0

我通过设置 ActionController::Base.asset_host 了解到这一点,您可以控制 rails 查找资产的位置。但是,默认情况下,Rails 应该在 '/public/...' 中查找

不知何故,我的 Rails 应用程序知道在开发模式下查看我的生产地址,并且我没有在任何地方设置 ActionController::Base.asset_host。我不确定它在哪里可以找到这些信息。还有其他地方可以设置吗?我不认为我的部署配方应该与它有任何关系......

<%= image_tag 'my_logo.png' %>

导致 Rails 检查我的生产服务器中的文件。与样式表相同。

4

1 回答 1

0

我不太确定 Rails 是如何知道寻找我的生产域的。我在代码中几乎所有地方都删除了它。根据文档,“默认情况下,Rails 链接到公共文件夹中当前主机上的这些资产”,但我不太确定这意味着什么。为了防止这再次成为问题并允许进行一些灵活的配置,我将资产主机域添加到我的环境配置中。我现在有类似的东西:

EnvironmentConfig = YAML.load(File.read(Rails.root + "config/#{rails_env}" + 'environment.yml'))[rails_env]

ActionController::Base.asset_host = EnvironmentConfig['asset_host']

现在一切都很好。仍然不知道 Rails 是如何知道查看我的生产域的。

于 2009-10-14T17:40:55.487 回答