使用部分和集合重构
Posted
技术标签:
【中文标题】使用部分和集合重构【英文标题】:Refactor using partials and collections 【发布时间】:2012-01-01 13:29:09 【问题描述】:下面的代码可以通过使用partials的collection参数进行重构和简化吗?由于传入了“路径”局部变量,我看不到它是如何完成的。
<% @admins.each do |admin| %>
<%= render :partial => 'person', :locals => :person => admin, :path => edit_admin_path(admin) %>
<% end if @admins %>
<% @users.each do |user| %>
<%= render :partial => 'person', :locals => :person => user, :path => edit_user_path(user) %>
<% end if @users %>
【问题讨论】:
【参考方案1】:利用rendering collections:
<%= render :partial => "person", :collection => @users + @admins %>
# in person.html.erb
path = person.admin? edit_admin_path(person) : edit_user_path(person)
【讨论】:
以上是关于使用部分和集合重构的主要内容,如果未能解决你的问题,请参考以下文章
FJoi2017 1月21日模拟赛 comparison(平衡树+thita重构)