A User
has_one
Account
ユーザモデルにattr_accessible
を設定すると、:account
,:account_id
、またはその両方を保護する方が良いでしょうか?Rails attr_accessible:オブジェクトvs:object_id
attr_accessible :account
または
attr_accessible :account_id
または
attr_accessible :account, :account_id
私は両方のように感じる(それはより安全だと)それはあまりDRY感じていても移動するための方法です。ちょうど私が求めている理由について、もう少し背景を与えるために、より背景に
を与えるために
を更新。私は、ほとんどのpplのように、Githubに何が起こったのかを見たので、私たちはアプリを通り抜け、少し強くロックしています。
私たちは、アカウントにUser.create account: account
、我々はACCOUNT_IDに渡された合格したテスト見つかっこれを実行する過程で
:
User.create account_id: account.id
を私のオプションは、いずれかの変更をしたがそれらすべてが一貫しているか、どちらかを許可するためにattr_accessible
を変更してください。私はすべてを一貫して変えることに決めました。しかし、これはおそらく私たちがアプリ全体を通して両方の方法を使用していたことを心配してしまいました。
私がmisspeakを実行したとき、両方を使用するとより安全です。長い一日だった。
あなたは 'accepts_nested_attributes_for'も使用していますか? – tadman
私の質問に対する答えがあなたの答えに依存する場合、私は両方の場合に理由と答えを見たいと思う。 – pcg79
あなたが 'accepts_nested_attributes_for:account'を使っているならば、あなたの作成や更新を行うときに、自動的に適用され、' params [:user] [:account_attributes] 'が自動的に適用しようとします。この場合、 'attar_accessible:account_attributes'を追加する必要があります。 – rwc9u