rails:3352
From: Shinya Kawaji <kawaji@g...>
Date: Fri, 18 Dec 2009 12:09:17 +0900
Subject: [rails:3352] Re: 多対多の設計について
かわじ、です。 > あえて has_many :through ではなく、 has_and_belongs_to_many(habtm) を > 使うのがミソという事ですよね? > #固定観念で habtm で出来ることは has_many :through で全て出来ると思い > 込んでました。 やり方の違いなだけであって、has_and_belongs_to_many を使わなくても 出来ます。 その場合、User と Entry の間を受け持つテーブル(たとえば EntriesUser)の モデルを設定する必要があります。 has_and_belongs_to_many をつかえば、その間のテーブルのモデル設定を省略 することが出来ます(テーブル名を規約に合わせるなどの制限がありますが)。 間のテーブル(モデル)に特に意味がなければ、モデル設定を省略するほうが 見通しがよいと思いますが、そこは個々人の「やり方の違い」といえると思いま す。 class User < ActiveRecord::Base has_many :entries, :through => :entries_users end class EntriesUser < ActiveRecord::Base belongs_to :user belongs_to :entry end class Entry < ActiveRecord::Base has_many :users, :through => :entries_users belongs_to :item end -- ML: rails@r... 使い方: http://QuickML.com/
3348 2009-12-17 07:40 [naopontan@g... ] 多対多の設計について 3349 2009-12-17 13:00 ┗[kawaji@g... ] 3351 2009-12-18 02:50 ┗[naopontan@g... ] -> 3352 2009-12-18 04:09 ┗[kawaji@g... ]