我在我的rails应用程序中使用简单导航,我有一个render_navigation函数,返回一个ActiveSupport:SafeBuffer。由于我想删除所选标签,我试图通过这个SafeBuffer迭代,但我不知道该怎么做...
<%= render_navigation(:level => 4).each do |level|
if !level.to_s.gsub("selected").nil?
level
end
end %>
这将返回错误:
未定义的方法
to_str' for #
&lt;`Enumerable :: Enumerator:0x103be1e60&gt;
知道如何解决这个问题吗?
答案 0 :(得分:0)
使用gsub
时,您需要提供两个字段。您正在选择的字符串,以及您想要替换它的内容。在你的情况下,你只是想看看我认为是否存在字符串。
我建议match
。
if !level.to_s.match(/selected/).nil?
来源:http://corelib.rubyonrails.org/classes/String.html#M001538