我正在使用Rails 4.2.3。我在app / helpers / admin_helper.rb文件中有这个...
module AdminHelper
def menu_builder(page_id)
tabs = ['Current Objects','Add New Object','Approve Objects']
content = ""
tabs.each do |tab|
content << if page_id == tab
content_tag('li', content_tag('a', tab, :href => nil ), :class => 'current') + " "
else
content_tag('li', content_tag('a', tab, :href => "/#{tab}" )) + " "
end
end
content
end
end
但在我看来,当我调用方法时
<h1>Admin#index</h1>
<ul>
<%= menu_builder(@page_id) %>
</ul>
HTML被转义而不是仅仅呈现为标记。也就是说,当我查看源代码时,这就是我在页面上看到的内容......
<ul>
<li><a href="/Current Objects">Current Objects</a></li> <li><a href="/Add New Object">Add New Object</a></li> <li><a href="/Approve Objects">Approve Objects</a></li>
</ul>
我需要做什么才能正确呈现我的网页?
答案 0 :(得分:3)
更改menu_builder
辅助方法,使其返回content.html_safe
而不是content
。
html_safe
方法将字符串标记为可以安全插入HTML而不必执行转义。