0

私はArtistGroupモデル間HMT関連の設定があります:あなたは私のArtistGroupに気づくでしょうとして結合モデルのIDを検証することをお勧めしますか?

class Artist < ApplicationRecord 
    has_many :artist_groups, dependent: :destroy 
    has_many :artist_groups, through: :artist_groups 
end 

class ArtistGroup < ApplicationRecord 
    has_many :memberships, class_name: "ArtistGroupMembership", dependent: :destroy 

    belongs_to :artist 
    belongs_to :group 

    has_and_belongs_to_many :roles 

    accepts_nested_attributes_for :memberships, reject_if: :all_blank, allow_destroy: true 

    validates_presence_of :artist_id, :group_id 
end 

class Group < ApplicationRecord 
    has_many :artist_groups, dependent: :destroy 
    has_many :members, through: :artist_groups, source: :artist 
end 

は、それがアーティストやグループが存在していることを確認する検証モデルに参加します。関連付けが、私はこのような何かを行うかどうか、保存されている

artist.groups.push(Group.first) 

または私の見解(サンセリフIDの入力)でフォームを作成するのActiveRecordは関連をマッピングするのに十分なスマートです。これを私の必要性に合わせて、私は結合モデルでこれらのIDを検証することさえできますか?多形性の関連を扱うとき、これがさらに痛みを伴うことに気づきます。

答えて

0

Rails 5では、belongs_to :artistが既存のartistを参照することを自動的に求めているため、余分な検証は完全に不要です。

belongs_to :artist, optional: true 
関連する問題