0

家族を登録する簡単なアプリを作ろうとしています。最初にここを見ましたが、答えが見つかりません。これが私の質問です:

私は3つのテーブルを持っています:私が接続しようとしている親、子供、家族。親は文字列(名前、住所...)を取得し、子供は(名前、年齢、アレルギー...)を取得しました。家族は、2人の親と0人以上の子供で構成され、いくつかの追加の列があります(緊急電話番号...)

私の問題は、2つの異なる親をそのparent_idと複数の子に接続できるように、ファミリテーブルをどのように作成する必要があるかということです。親用に2つの列を作成し、外部キーを設定する必要があります。そして子供たちのために私はたくさんの列を作成する必要がありますか?自動調整ソリューションはありますか?

私はchildren_listやparents_listのようないくつかの追加のテーブルを作成し、それらを家族に接続することを考えています。

この状況に関するドキュメントを入手した場合は、それを読んでいただければ幸いです。

ありがとう。

編集 :

私はいくつかのことを試みますが、データベースは問題ではないと思います。ファミリーテーブルは複数の列を持つ共同テーブルであり、私は親と子をリンクするために多くのスルーアソシエーションを使用します。ファミリービューフォームで多くの親/子を選択するときに新しい行を追加する方法を見つける必要があります。そうしないと、2つの異なる値でparent_id列を2回設定しようとするため、アプリが停止します。

4

2 に答える 2

1

ついに:

私の答えはrailscastにあります。これが私がやったことです:

  • ファミリーテーブル
  • family_id 列を含む Parents テーブル
  • family_id 列を持つ Children テーブル

モデルでは:

  • 家族には多くの親と子供がいて、attr_accessible :parents_attributes (および children ) を取得し、accepts_nested_attributes_for :parents, :children を取得しました
  • 子供と親の所属_家族

これで、親と子の属性を要求するように家族のビューを設定できるようになり、正しいテーブルに入力されます!

于 2013-03-10T15:20:08.287 に答える
0

祖先の宝石の使用を検討しましたか。Rails は、そのままでは複数テーブルの継承をサポートしていません。独自に実装する必要があります。単一テーブルの継承を使用することをお勧めします。前述の gem へのリンクは以下のとおりです。私はこの宝石を広範囲に使用しました。

https://github.com/stefankroes/ancestry

上記の問題を詳細に説明するリンクは次のとおりです

レール 3 を使用したマルチ テーブルの継承

于 2013-03-10T02:29:57.550 に答える