0

我正在尝试将Merit信誉系统添加到 Rails 应用程序中。

我有一个投票模型,我想将优异点奖励给已投票对象的所有者。

#models/merit/point_rules.rb
score 2, on: 'votes#create', to: :owner_of_object_voted_on

class Vote
  belongs_to :voter, class_name: 'User'
  belongs_to :votable, polymorphic: true

  def owner_of_object_voted_on
    case self.votable_type
    when 'blog_post'
      votable.owner
    end
  end
end

class BlogPost
  has_many :votes
  belongs_to :owner, class_name: 'User'
end

然而,Merit 总是将积分奖励给 current_user,而不是对象所有者。

是否score to:采用代表vote模型上的方法的符号,我是否正确设置?

相关来源表明 :action_user 正在被使用,但我不清楚它是在哪里定义的,以及它是否可以被覆盖。

4

0 回答 0