我正在尝试将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 正在被使用,但我不清楚它是在哪里定义的,以及它是否可以被覆盖。