2
컬렉션을 반복 할 수있는 HTML 목록 도우미를 만들려는 경우 목록 항목이있는 경우 <ul>
또는 <ol>
태그 만 출력하면됩니다. 실제로 염두에두고있는 것은 조금 더 멋지지만이 예를 들면 작동합니다.) 같은Rails에서 루프 도우미를 만들려면 어떻게해야합니까?
뭔가 :
<% html_list(:ul, MyModel.all) do |my_model| %>
<span><%= my_model.id %></span>
<% end %>
(당신이 말할 수있는, 내가 잃었어요.)
내 html_list
방법에 갈 것입니다 무슨 주위에 내 머리를 정리하고 수 없습니다. 저를 올바른 방향으로 가르쳐 주시겠습니까? '
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
최종 문자열을 구축하기위한 다양한 방법이있다, 그것의 고기는 점이다
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
혹은이 방법 :
@ Dan : 감사합니다. Strunk & White로가는 길에 한 발 더 나아 갔습니까? 나는 진심으로 거짓말 쟁이다. –
우리 모두는 실수를한다;) –
나는 'yield'도 고려하지 않았다! 오오. 고맙습니다!! – ClosureCowboy