【发布时间】:2013-03-14 03:43:01
【问题描述】:
说我有一个像这样的动作模板
# home/index.html.erb
<%= img_tag "logo.gif" %>
如果我想给它添加 alt/title 属性,我可以这样做
# home/index.html.erb
<%= img_tag "logo.gif", alt: "alt!!", title: "title!!" %>
但我有 1000 个图像标签,我不想每一个都更改。
然后我想到在从服务器输出之前使用机架中间件并修改图像标签。 http://railscasts.com/episodes/151-rack-middleware?view=asciicast
doc = Nokogiri.HTML(@response.body)
doc.search("img").each do |tag|
[:alt, :title].each{|attribute| tag[attribute] = "changed!!" }
end
但当我关注 railscast 剧集时,它会将整个主体附加在原件的顶部,而不是替换它。
是我在机架上做错了,还是有更聪明的方法来做到这一点?
【问题讨论】:
标签: ruby-on-rails-3 rack