私は、Railsアプリケーションが安全にアソシエーションを構築していることを保証しようとしており、本質的に別のモデルで所有されているモデルをどのように扱うべきかはわかりません。モデルアソシエーションを安全に構築する
例は、私が十代の娘を持つ父親であるということです。彼らはいくつかのリンゴ製品を所有している。製品は技術的にそれらに属しますが、私はそれをすべて支払った - 私はそれを所有しています。
さらに、私は娘に新しいリンゴ製品を与えるだけで知らないことを望んでいません。
このためのコードは次のようになります。
class Father
has_many :teenage_daughters
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
end
class TeenageDaughter
belongs_to :father
accepts_nested_attributes_for :apple_products,
reject_if: :all_blank,
allow_destroy: true # oh yeah
end
class AppleProduct
belongs_to :teenage_daughter
# Should i be doing something like this?
# belongs_to :father
end
私の質問は:私はcurrent_user
を設定AppleProduct
Sを作成するたび
は私がAppleProduct
と何とかの内側BACK父へbelongs_to
関係を追加するべきか?
私は間違いを犯すことに心配しています。何らかの理由で作成されたリクエストを許可すると、行に関連していないユーザーアカウントとの関連付け/関連付け解除が可能になります。