在模型上定义一个方法,该方法获取两个belongs_to记录的计数

时间:2014-11-06 02:30:39

标签: ruby-on-rails ruby-on-rails-4 rails-activerecord

questionupvotes,且comments。我想在问题模型上定义一个方法,该方法得到一个" upvotes"和#34;评论",所以my_sum = @question.upvotes.count + @question.comments.count

我如何在问题模型中定义此方法.rb?

def my_sum
  return self.upvotes.count + self.comments.count
end

1 个答案:

答案 0 :(得分:1)

那应该有效。您可以做出一些小改动:

def upvotes_and_comments_count
  upvotes.size + comments.size
end

使用size,因此如果不需要,则不会调用sql。你不需要“自我”和“自我”。这里。如papotheriger指出的那样,回归是不必要的。