我的模板中有以下帮助:
= link_to t(:site_count, :count => account.subdomains.count ), "#", :rel => 'tooltip', :title => 'Sites', :class => :nofsite, :'data-placement' => "right", :'data-content' => account_sites_html(account), :'data-html' => true
使用account_sites_html(account)帮助程序列出帐户网站及其区域设置
我的助手正确地生成了html但我在语言范围内遇到了问题:
def account_sites_html(account)
sites = account.subdomains.map {|subdomain| [subdomain.site[:hostname], subdomain.languages]}.uniq
html = content_tag(:ul) do
sites.collect do |site|
content_tag(:li) do
content_tag(:span, "#{site[0]}")
site[1].collect do |language|
content_tag(:span, "#{language}", :class => "babFlag-#{language}")
end.join.html_safe
end
end.join.html_safe
end
return html.html_safe
end
这产生:
"<ul><li><span class=\"babFlag-en\">en</span><span class=\"babFlag-fr\">fr</span></li></ul>"
显示效果不佳....但如果我在返回之前调试并修改控制台中的html变量:
"<ul><li><span class='babFlag-en'>en</span><span class='babFlag-fr'>fr</span></li></ul>"
然后很好......我的班级字符串出了什么问题?
答案 0 :(得分:0)
在Rails 3中,需要使用concat
concat(content_tag(:span,“#{site [0]}”))