在我的Rails应用程序中,我有一个部分被递归调用。
在部分中,我想输出<h1>
,<h2>
,<h3>
...取决于级别。 (当然是6级上限)
这样的事情:
<h1>
<p><%= ... %></p>
<% books.each do |book| %>
...
<% end %>
</h1>
------->
<% open_h(1) %>
<p><%= ... %></p>
<% books.each do |book| %>
...
<% end %>
<% close_h(1) %>
现在我把这两个函数作为助手一起攻击,但这真的是最优雅的方法吗?
答案 0 :(得分:4)
您可以执行类似
的操作# _book.html.erb
<% content_tag "h#{level}" do %>
<p><%= ... %></p>
<% if level < 6 %>
<%= render :collection => books, :locals => { :level => level + 1 }
<% end %>
<% end %>
# action.html.erb
<%= render :partial => :book, :collection => @books, :locals => { :level => 0 } %>
答案 1 :(得分:1)
我不确定我是否得到了您想要的内容,但请查看content_tag和tag帮助,并分享一些最终代码,以便我们提供更多帮助。