次のフィールドを持つ割り当てモデルがあります: :user_id、:company_id、:role_id
各ユーザーは会社内で複数の役割を持つことができますが、各会社は role_id == 5 を持つユーザーを 1 人だけ持つことができます。
以下のようなことをしたいと思います(明らかにこれは機能しません)。
validates :company_id, :uniqueness => { :scope => :role_id => {:is => 5}, :message => "Only one owner is allowed." }
上記と同様の形式でこれを達成する方法はありますか、それともカスタム検証マクロを作成する必要がありますか?
カスタム検証が必要な場合、これはどのように正確に行われ、ActiveModel::EachValidator から継承する新しいクラスを作成する必要がある場合、このコードを格納する「正しい」場所はどこですか? (同じファイルに保存するか、新しいファイルを作成して /lib に保存するか?)
前もって感謝します。