我想根据它的总票数来排序帖子。这就是我在 Post 模型中的内容:
class Post < ActiveRecord::Base
attr_accessible :title, :url
validates :title, presence: true
validates :url, presence: true
has_many :votes
def vote_number
votes.where(direction: "up").count - votes.where(direction: "down").count
end
end
这就是我在 Post Controller 中尝试做的事情:
def index
@posts = Post.last(10).order('vote_number')
end
尽管如此,我还是从索引中得到了这个错误:
undefined method `order' for #<Array:0x3787158>
Stack Overflow 中的其他问题通过在 Post Controller 中进行计算解决了这个问题,但我不能这样做,因为投票是数组而不是整数。