如果登录的用户是管理员,我有一个显示编辑按钮和一堆额外信息的书籍列表。现在我有两个单独的部分,根据登录的用户类型呈现。我曾经只有一个部分和一堆 if user.admin?声明,但它开始变得非常丑陋。现在我正在处理两个文件,每个文件都有少量重复数据。有没有更好的方法来做到这一点?
index.html.erb
<ul>
<% if @current_user.admin? %>
<%= render :partial => "book", :collection => @books %>
<% else %>
<%= render :partial => "non_admin_book", :collection => @books %>
<% end %>
</ul>
_book.html.erb
Title: <%= book.title %> EDIT BUTTON
<!-- Awesome extra info for admins -->
Author: <%= book.author %>
<!-- Awesome extra info for admins -->
_non_adminbook.html.erb
Title: <%= book.title %>
Author: <%= book.author %>