Ruby on rails 3 Rails(3.2.7):覆盖资产主机的图像标签
development.rb:Ruby on rails 3 Rails(3.2.7):覆盖资产主机的图像标签,ruby-on-rails-3,overriding,asset-pipeline,rails-api,Ruby On Rails 3,Overriding,Asset Pipeline,Rails Api,development.rb: config.action_controller.asset_host = "assets.myserver.com" <%= image_tag('header.jpg') %> <img alt="Header" src="/header.jpg" /> <img alt="Header" src="http://assets.myserver.com/header.jpg" /> 查看脚本: config.acti
config.action_controller.asset_host = "assets.myserver.com"
<%= image_tag('header.jpg') %>
<img alt="Header" src="/header.jpg" />
<img alt="Header" src="http://assets.myserver.com/header.jpg" />
查看脚本:
config.action_controller.asset_host = "assets.myserver.com"
<%= image_tag('header.jpg') %>
<img alt="Header" src="/header.jpg" />
<img alt="Header" src="http://assets.myserver.com/header.jpg" />
收益率:
config.action_controller.asset_host = "assets.myserver.com"
<%= image_tag('header.jpg') %>
<img alt="Header" src="/header.jpg" />
<img alt="Header" src="http://assets.myserver.com/header.jpg" />
应该是:
config.action_controller.asset_host = "assets.myserver.com"
<%= image_tag('header.jpg') %>
<img alt="Header" src="/header.jpg" />
<img alt="Header" src="http://assets.myserver.com/header.jpg" />
我使用的是railsapi
gem,我猜它禁用了一些资产和视图渲染功能
似乎重新实现(覆盖image\u标记
)来添加这个非常小的功能应该不会太难。想这样做似乎有点奇怪。然而,我是rails新手,我想知道如何将此作为一种学习经验
问题:
我已经尝试了您的配置,但是当我在我的
development.rb中使用config.action\u controller.asset\u host=“assets.myserver.com”
时,图像标签的效果与预期一致:
<img alt="Header" src="http://assets.myserver.com/assets/header.jpg" />
这基本上就是重新打开模块,用您自己的方法替换image\u标记
方法。模块AssetTagHelper
中的所有其他方法保持不变。查看Rails以获得image\u标记
方法的完整“示例”
文件名并不重要。启动应用程序时,将加载config/initializers
中的所有文件
基本上,这是Ruby的一个语言特性,Ruby允许您在代码中的任何地方重新打开类,并添加或替换方法(您可以在上找到有关此主题的更多信息)。您是否使用rails api
gem?不,我没有,我在阅读您的问题时显然错过了这一行。