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
ただし、メリットは、オブジェクトの所有者ではなく、常に current_user にポイントを与えています。
score to:
モデルのメソッドを表すシンボルを取りますか?vote
これを正しく設定していますか?
関連するソースは :action_user が使用されていることを示していますが、これがどこで定義されているか、上書きできるかどうかは不明です 。