私のPostgresデータベースには、categories
とproducts
という2つのテーブルがあります。2つのテーブル間のレールの関連付け
私は1対多の関係が定義されていますが、1つのカテゴリは多くの製品を持つことができます。
これらをRailsの2つのモデルで定義した後、テーブルに何か必要なことはありますか?私はまだ各モデルを別々にセットアップするときにRailsが定義したプライマリキーしか持っていません。
私のPostgresデータベースには、categories
とproducts
という2つのテーブルがあります。2つのテーブル間のレールの関連付け
私は1対多の関係が定義されていますが、1つのカテゴリは多くの製品を持つことができます。
これらをRailsの2つのモデルで定義した後、テーブルに何か必要なことはありますか?私はまだ各モデルを別々にセットアップするときにRailsが定義したプライマリキーしか持っていません。
適切なパラメータを指定して移行ジェネレータを実行すると、外部キーを設定できます。あなたはデシベルを見てみるとお分かりになるディレクトリを移行/プロセス
を完了するために、
#product.rb
belongs_to :category
#category.rb
has_many :products
実行rake db:migrate
:
bin/rails generate migration AddCategoryRefToProducts category:references
これは、あなたがこれらの団体と製品モデルとカテゴリのモデルを持っていると仮定しdef change
ブロック内にadd_reference行を含むファイル。その方法の参考資料はRails APIです。スタンドアロンジェネレータの構文はfrom the Rails Guides
を参照してくださいありがとう!私はちょうどそれを試みた。今私はテーブルが接続されていると思います。 –
このカテゴリを自動的に含むように製品フォームを再生成することはできますか?または、手動でドロップダウンを挿入する必要がありますか? –
一般に、足場はプロトタイプの作成に使用されます。一般的には、そのプロトタイプを手動で更新します。私は、あなたがモデルを変更してビューを再生成できるようにするつもりはないと思います。 –
です。移行で作成されたテーブルに外部キー参照が表示されると思われますか? – mrstebo
ええと、アクティブレコードファイルに関連付けを追加した後で、データベースを掘り起こす必要はありますか?私はそれをしていない。しかし、私は、カテゴリに戻って製品を指し示す別のキー(外国語)が必要になると思います。 –
私はあなたが外部キーを追加する必要があると思う:データベースに外部キーが作成されていることを確認したい列の真。 http://stackoverflow.com/questions/16257116/adding-foreign-key-to-a-rails-model – mrstebo