ユーザーhas_one:サブスクリプション、サブスクリプションbelongs_to:userと仮定し、accepts_nested_attributes_forを使用してサブスクリプション属性をユーザー作成フォームにネストします。 User.email == Subscription.emailに基づいてサブスクリプション(存在する場合)既存のサブスクリプションがUSER_ID = nilの既存のネストされた属性を更新する方法FK
0
A
答えて
1
を持つことができ
注意がおそらく何がやりたいことは、外部キーとして電子メールを使用している:私はこれがに分割する必要があるだろうと想像
class User < ActiveRecord::Base
has_one :subscription, :foreign_key => "email", :primary_key => "email"
end
0
2段階プロセス:
- 更新するユーザーを特定します。
- このレコードにユーザーにサブスクリプションを設定し、ユーザーの電子メールアドレスと(もしあれば)のサブスクリプションを見つけます。
- 通常のように、ユーザーを更新します。関連付けが現在存在するので(つまり、user.subscriptionはゼロにならない)、サブスクリプションレコードは正しく更新されます。
関連する問題
- 1. RAILS:既存のレコードを持つ新しい方法でネストされた属性
- 2. フォーム内にネストされた属性を更新する方法
- 3. レールのネストされた属性を更新する3
- 4. ネストされた属性のステータスを更新するRailsボタン
- 5. ネストされた属性を更新するパラメータを渡す
- 6. オブジェクトの更新時にネストされた属性が保存されない
- 7. ネストされた属性をレールで更新する
- 8. 既存の切断されたエンティティを更新する方法
- 9. Railsネストされた属性 - 新しい属性にカテゴリ属性を追加する方法は?
- 10. Rails 5ネストされた属性は更新を保存しません
- 11. サブ属性(または)ネストされた属性を使用する方法
- 12. 既存の共有フォルダの属性を更新するには?
- 13. Railsはネストされた属性を更新しません
- 14. xmlファイルで更新された属性を知る方法
- 15. JSONAPIでネストされた属性をフィルタリングする方法は?
- 16. Rails - ネストされた属性をフォームで分割する方法
- 17. GSAP:ネストされた属性を同時にトゥイーンする方法
- 18. ネストされた属性paperclip
- 19. Activeadminネストされた属性
- 20. Rails:エントリの更新中にネストされた属性を削除する
- 21. バインドされたリストの既存のアイテムが更新されたときにListViewを更新する方法
- 22. Dynamodbテーブルの既存の属性を変更せずに既存の行に新しい属性を追加する方法
- 23. ネストされたJSON属性のタイプを変更する
- 24. スパークSQLでネストされた属性にアクセスする方法
- 25. 弾性検索のネストされたデータを更新する方法は?
- 26. ネストされた属性子モデルは保存されません
- 27. Rails 3:has_oneで作成、ネストされた属性が更新されない
- 28. サーバーにある既存のファイル属性を変更する方法
- 29. 更新は別のコントローラからネストされた属性としてユーザー属性を作成します
- 30. ネストしたJSON属性値を取得して更新する
HRMは、ええ...私はそのことについて考えました。そのアイデアで周りをおもしろにさせてください。ありがとう。 –
私は時折それをしました。自然なキーであることを除けばうまく動作します。つまり、ユーザーが電子メールアドレスを変更したいときに問題に遭遇します。両方のテーブルの電子メールにインデックスがあることを確認してください。 – karmajunkie
私はアソシエーションをセットアップしましたが、まだ重複したレコードを取得しています。私は、accepts_nested_attributes_forに対してupdate_only => trueを持っています。何か案は? –