Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在Rails中,如何生成循环辅助对象?_Ruby On Rails_Ruby On Rails 3_Helper_Helpers - Fatal编程技术网

Ruby on rails 在Rails中,如何生成循环辅助对象?

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列表帮助器,它允许我循环遍历一个集合,并且如果有任何列表项,只输出
标记(我实际上想到的是有点恶心,但这对于一个示例来说是可行的)

比如:

<% 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