如果这是一个帮手,请帮助重构这个控制器逻辑?

时间:2011-07-17 19:29:36

标签: ruby-on-rails

因此,如果我列出博客文章条目,并在每个条目下我显示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 个答案:

答案 0 :(得分:1)

对我来说这感觉就像是视图逻辑,让它在模型上使用属性来显示给用户的链接似乎有点好笑。

我建议通过使用辅助方法更多地走向你提到的路线。当您到达帖子下方的链接时,只需调用帮助程序即可快速检查该帖子的注释计数,并且只需返回您要查找的字符串(或完整链接)即可。那种情况。

除了确定帖子有多少评论之外,这个逻辑根本不需要直接与模型交互。