0

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 が使用されていることを示していますが、これがどこで定義されているか、上書きできるかどうかは不明です 。

4

0 に答える 0