在我的开发设置中,生成的路线神秘地指向我的公共www服务器。
[产率]
<script src="http://www.mysite.com//javascripts/prototype.js?1265304231" type="text/javascript"></script>
<script src="http://www.mysite.com//javascripts/effects.js?1265304231" type="text/javascript"></script>
<script src="http://www.mysite.com//javascripts/dragdrop.js?1265304231" type="text/javascript"></script>
<script src="http://www.mysite.com//javascripts/controls.js?1273647885" type="text/javascript"></script>
<script src="http://mysite.opzi.com//javascripts/application.js?1273611341" type="text/javascript"></script>
此选项设置在何处?在我的生活中找不到它。
答案 0 :(得分:3)
如果您将ActionController::Base.asset_host
设置为指向environment.rb中的公共服务器,则会发生这种情况。
答案 1 :(得分:1)
因为没有人提供解决此问题的方法:
问题可能是你的一个配置中的额外斜线。 asset_host
前缀为以编程方式生成的所有资产代码,因此请使用ERB:
<%= stylesheet_link_tag :defaults %>
会给你相当于:
<%= "<link href='#{ActionController::Base.asset_host}/stylesheets/defaults.css' media='screen' rel='stylesheet' type='text/css' />" %>
要检查asset_host
的内容,只需将其打印到您的某个页面的某个位置:
asset_host is set to: "<%= ActionController::Base.asset_host %>"
我怀疑你会得到像http://www.mysite.com/
这样的东西。问题是结束斜线。它应该设置为http://www.mysite.com
。现在只需要跟踪你的配置中的设置。一种简单的方法就是在您的来源中搜索http://www.mysite.com/
,以便快速找到相关设置!
如果您只想在当前流程中覆盖它,可以将asset_host
设置为您想要的任何内容:
ActionController::Base.asset_host = "http://www.mysite.com"
答案 2 :(得分:0)
您应该检查config/environment.rb
和config/environment/development.rb
个文件。
专门查看任何asset_host
标记。来自guides.rubyonrails.org:
asset_host提供一个字符串,该字符串预先附加到AssetHelper中的所有生成URL的帮助程序。这旨在允许将所有javascript,CSS和图像文件移动到单独的资产主机。
答案 3 :(得分:0)
如果您使用的是Facebooker,可能是facebooker.yml配置文件中的callback_url设置正在影响ActionController :: Base.asset_host值并破坏您的路由。