2011-07-17 9 views
1

ブログ記事の投稿を掲載していて、各エントリの下に5つのコメントが表示されています。ヘルプはこのコントローラロジックをリファクタリングします。これはヘルパーですか?

'show more' 

または

'add comment' 

を、このためのロジックは、現在、私のコントローラである:

@posts.each do |p| 

    if p.comment_count > 3 
    p.some_label = 'show more' 
    else 
    p.some_label = 'add comment' 
    end 

end 

私は「some_labelを追加しなければならなかったと言う最後のコメントの下のラベルがあります'属性を私の投稿モデルに追加するだけです。

これは正しいと思われますか、それとも再因子化すべきですか?

答えて

1

これは私にビューロジックのように感じます。ユーザーに表示するリンクのようなモデルの属性をモデルに使用させるのは面白くないようです。

私は、あなたが言及したルートに向かって、ヘルパーメソッドを利用することでより多くのことをお勧めします。あなたがポストの下のリンクをレンダリングするポイントに達すると、そのポストのコメント数を素早くチェックできるヘルパーを呼び出し、あなたが探している文字列(またはフルリンク)を単に返すことができますその状況。

投稿のコメント数を決定する以外に、このロジックはモデルと直接対話する必要はありません。

関連する問題