0
私はUser、Link、Reportのモデルを持っています。ユーザーは複数のリンクを作成できます。ユーザーは複数のリンクを報告することができます。しかし、ユーザーは1つのリンクを複数回報告することはできません。レコードをレール5に投稿したユーザーに基づいてレコードの一意性を検証する方法は?
は、ここに私のモデルです: -
class User < ApplicationRecord
has_many :reports
has_many :links
class Link < ApplicationRecord
belongs_to :user
has_many :reports
class Report < ApplicationRecord
belongs_to :link
belongs_to :user
私は運なしで次のことを試してみました。
has_one :user, through: :link
validates_uniqueness_of :user_id
validates_uniqueness_of :link_id, scope: :user_id
私はそれがかなり簡単だろうと思った。そうではないようです。ヘルプをいただければ幸いです。
私はRails 5にあります。
あなたはユーザーにuniq link_idまたはbody insideリンクモデルを持たせたいのですか? – Avdept
心配しないでください。それは動作し、私の仕様は失敗しました。だから私はそれがうまくいかないと思った。うまくいったのは 'validates_uniqueness_of:user_id、scope::link_id'でした – RawCode