2017-03-06 6 views
0

私が達成したいのは、ページにあるコメントの数を示すラベルです。現在のところ、このコードは必要なものを表示するために機能しますが、これは正しい方法ではなく、リファクタリングを使用できると私は信じています。この条件付きヘルパーをどのようにリファクタリングする必要がありますか?

また、代わりにh1タグを表示に移動する必要がありますか、content_tagは受け入れ可能ですか?

私が必要とするのは、基本的にコメントがない場合は「コメントする」とし、コメントがあれば複数形にすることです。

ありがとうございました。

def number_of_comments 
    @review.comments.count 
    end 

    def render_comments_count 
     if number_of_comments == 0 
     content_tag(:h1, "Be the first to comment") 
     elsif number_of_comments == 1 
     content_tag(:h1, "1 comment") 
     else 
     content_tag(:h1, number_of_comments) + content_tag(:h1, "comments") 
     end 
    end 
    end 

答えて

0

あなたは、ビューにH1を複数化し、抽出し使用することができます。

def number_of_comments 
    @review.comments.count 
end 

def render_comments_count 
    if number_of_comments.zero? 
    'Be the first to comment' 
    else 
    "#{number_of_comments} #{'comment'.pluralize(number_of_comments)}" 
    end 
end 

次に、ビューで:

<h1><%= render_comments_count %></h1> 
+0

グレート、これに感謝を! – Joshua

関連する問題