本文介绍了Rails 有没有其他方法可以做这个循环?干燥的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
Rails 以保持干燥而闻名.
Rails is know for keeping things DRY.
我要创建一个这样的表格:http://www.duoh.com/csstutorials/tablesv2/
I am going to create a table like this: http://www.duoh.com/csstutorials/tablesv2/
有没有其他方法可以重复循环?
Is there any other way of doing repeated loops?
<tbody>
<tr>
<th class="column1" scope="row">Data usage</th>
<%= @something.each do |info| %>
<td><%= info.name %></td>
<% end %>
</tr>
<tr class="odd">
<th class="column1" scope="row">Opslag Capaciteit</th>
<%= @something.each do |info| %>
<td><%= info.price %></td>
<% end %>
</tr>
</tbody>
推荐答案
抽象功能正是 ruby 的块/产量结构的目的.
Abstracting functionality is precisely the purpose of ruby's block/yield structure.
在助手中:
def tds list
list.map do |item|
content_tag :td, yield(item)
end.join("\n")
end
那么在你看来:
<%= tds @something {|i| i.name } %>
<!-- other stuff -->
<%= tds @something {|i| i.price } %>
这篇关于Rails 有没有其他方法可以做这个循环?干燥的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!