0

私はライアンのスクリーンキャストを見てきました:

http://railscasts.com/episodes/196-nested-model-form-part-1

私は似ているが異なる問題を抱えており、誰かが助けてくれることを望んでいます。


登録に必要な(少なくとも)次の4つのモデルがあります。

  • アカウント
  • 会社
  • 住所
  • ユーザー

登録時に、会社住所ユーザーを個別にアカウントに直接関連付けてほしい。

また、ユーザー会社に関連付け、住所会社に関連付けてほしい。

注:それぞれに外部キーがあります。-account_idこれは基本的に、単一のデータベースを持つマルチテナントシステムです。


私の仲間は現在、次のように設定されています。

アカウント

has_many:companies

has_many:users

has_many:addresses

(将来、他のモデルは会社と住所モデルを使用する予定です。そのため、アカウントにはそれらの多くがあります)

ユーザー

所属する:アカウント

所属する:会社

会社

所属する:アカウント

has_many:users

has_many:addresses

住所

所属する:アカウント

所属する:会社


私はaccepts_nested_attributes_forモデルでメソッドを使用fields_forし、ビューでメソッドを使用してきましたが、純粋にネストされた方法で関連付けられたものしか取得できませんでした。

つまり、ユーザー 会社に関連付けられますが、アカウントには関連付けられません

各モデルをアカウントに関連付ける必要があります。(もちろんアカウント自体を除く)

これを行う方法はありますか?

ありがとうございました。

4

1 に答える 1

0

どこか混乱していると思います。

  • アカウントには多くの会社があります
  • 会社には多くのユーザーがいます
  • 会社はアカウントに属しています
  • アカウントユーザーbelongs_tocompany
  • ユーザーbelongs_toは、会社を通じてアカウントを作成するか、ユーザーにaccount_idを作成します。

ビューでは、フォーム会社を作成してから、アカウントのfields_forを作成し、アカウント内でfields_foruserを作成できます。

これであなたの目的は解決すると思います。会社とアカウント内にaccept_nesetd_attributesを追加することを忘れないでください

于 2012-04-06T07:32:22.043 に答える