我的一些html.erb文件非常长。由于多种属性,有时还有条件。
例如:
<div class="comment-container">
<div class="comments">
<div class="user-info"></div>
<span class="toggle-comments pull-right comment-activity <%= 'hidden' unless @item.comment_threads.size != @item.root_comments.size %>" data-id="<% item.id %>" data-commentid="<% comment.id %>" data-userid="<% user.id %>">
<i class="fa fa-comment-o fa-lg"></i>
</span>
</div>
</div>
格式化这种格式的最佳方法是什么?我应该使用content_tag
吗?请保持原样?
答案 0 :(得分:1)
您可以使用<%= 'hidden' unless @item.comment_threads.size != @item.root_comments.size %>
并输入辅助方法:
def hidden(item)
'hidden' unless item.comment_threads.size != item.root_comments.size
end
然后在您的视图中,您只需调用您的方法:
<div class="comment-container">
<div class="comments">
<div class="user-info"></div>
<span class="toggle-comments pull-right comment-activity <%= hidden(@item) %>" data-id="<%= item.id %>" data-commentid="<%= comment.id %>" data-userid="<%= user.id %>">
<i class="fa fa-comment-o fa-lg"></i>
</span>
</div>
</div>
你不会摆脱整条线,但会让它更清洁。
如果你仍然不喜欢那条长行,你可以将属性划分为不同的行,如下所示:
<div class="comment-container">
<div class="comments">
<div class="user-info"></div>
<span
class="toggle-comments pull-right comment-activity <%= hidden(@item) %>"
data-id="<%= item.id %>"
data-commentid="<%= comment.id %>"
data-userid="<%= user.id %>">
<i class="fa fa-comment-o fa-lg"></i>
</span>
</div>
</div>
我更喜欢打破新行中的属性,但不是每个人都喜欢它,所以请使用您更熟悉的属性。