Ruby on rails 在Rails中,如何生成循环辅助对象?
假设我想创建一个HTML列表帮助器,它允许我循环遍历一个集合,并且如果有任何列表项,只输出Ruby on rails 在Rails中,如何生成循环辅助对象?,ruby-on-rails,ruby-on-rails-3,helper,helpers,Ruby On Rails,Ruby On Rails 3,Helper,Helpers,假设我想创建一个HTML列表帮助器,它允许我循环遍历一个集合,并且如果有任何列表项,只输出或标记(我实际上想到的是有点恶心,但这对于一个示例来说是可行的) 比如: <% html_list(:ul, MyModel.all) do |my_model| %> <span><%= my_model.id %></span> <% end %> (如你所知,我迷路了。) 我不知道我的html\u列表中会出现什么。你能给我指一下正确
或
标记(我实际上想到的是有点恶心,但这对于一个示例来说是可行的)
比如:
<% html_list(:ul, MyModel.all) do |my_model| %>
<span><%= my_model.id %></span>
<% end %>
(如你所知,我迷路了。)
我不知道我的
html\u列表中会出现什么。你能给我指一下正确的方向吗?你可能想要这样的东西:
def html_list(tag, enum)
html = '<' + tag.to_s + '><li>'
html << enum.map { |e| yield e }.join('</li><li>')
html << '</li></' + tag.to_s + '>'
html.html_safe
end
def html_列表(标记、枚举)
html=''
html@Dan:谢谢,在去斯特伦克和怀特的路上又多走了一步,嗯?我是利利.斯皮尔.古德,雷利。我甚至没有考虑过<代码>产量>代码>!哦。非常感谢。
def html_list(tag, enum)
html = [
'<' + tag.to_s + '>',
'<li>',
enum.map { |e| yield e }.join('</li><li>'),
'</li>',
'</' + tag.to_s + '>'
]
html.join.html_safe
end