我正在尝试将Merit信誉系统添加到Rails应用中。
我有一个投票模型,我想将Merit积分奖励给已经投票的对象的所有者。
#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
模型上的方法的符号,我是否正确设置了这个?
relevant source表示:正在使用action_user,但我不清楚它的定义位置以及是否可以覆盖它。