0

私はRails3.2.1を使用しており、CookingVenueとDiningVenueの2つのモデルと、cooking_venuesとdining_venuesの関連するMySQLテーブルがあります。私はhasを設定し、2つのモデル間の多くの関係に属していますが、結合を表すためにここでMySQLテーブル名の名前は何ですか?

それcooking_venues_dining_venuesですか?

Railsは料理と会場などの関係を見つけようとしますか、それともRailsはこれをすべて解決するのに十分賢いのでしょうか?

4

2 に答える 2

0

あなたが言ったように、cooking_venues_dining_venuesは結合テーブルの名前です。Cooking_venue_idフィールドとdining_venue_idフィールドを使用してこのテーブルを作成した後、両方のモデルでhas_and_belongs_to_manyの関連付けを定義する必要があります。

class CookingVenue < ActiveRecord::Base
  has_and_belongs_to_many :dining_venues       # foreign keys in the join table
end
class DiningVenue < ActiveRecord::Base
  has_and_belongs_to_many :cooking_venues    # foreign keys in the join table
end
于 2012-03-01T19:16:40.250 に答える
0

うん。結合テーブルに、これまでと同じようにアルファベット順に名前を付けるだけで、準備は完了です。

于 2012-03-01T19:11:52.957 に答える