2017-04-20 14 views
1

我的一些html.erb文件非常長。由於多個屬性和有時條件。Rails視圖助手並在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嗎?就這樣離開它?

回答

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> 

我喜歡打破屬性在新的生產線,但不是每個人都喜歡它,所以使用你更舒適的那個。

相關問題