User
モデルは、作成するCardSignup
モデルから商品券を取得できます。2つの関連モデルが同じ結合名を共有できますか?
User.rb
has_many :conversions, :foreign_key => :converted_by, :class_name => "CardSignup"
has_many :conversions, :foreign_key => :converted_by, :class_name => "GiftConversion"
:
しかし、私はまた、私のモデルがように設定されているGiftConversion
と呼ばれる別々のモデルから無料商品券を配るしたいと思いますCardSignup.rb
belongs_to :converted_by, :class_name => "User"
は、このように
belongs_to :converted_by, :class_name => "User"
GiftConversion、私は何をしたいUser.find(x).conversions
を入力し、そのユーザーに関連付けられている彼らのFOREIGN_KEY :converted_by
限り、CardSignup
モデルとGiftConversion
モデルの両方を返しますモデル。
残念ながら、これは正しく動作しません。代わりに、コンパイラは後のステートメントを取得するだけです。この場合はGiftConversion
となり、それがUser.find(x).conversions
と認識されるだけです。
誰もが同じ名前で両方のモデルを共有するUser
モデルを持つ方法を知っていますか?
私は本当にこのの頭や尾をすることはできません。しかし、それは素晴らしい考えのようです。 – Trip
この記事ではうまく説明しています:http://code.alexreisner.com/articles/single-table-inheritance-in-rails.html –
この2対1の3つの異なるモデルを結合する方法はまだ説明していません2つの多型の関連性。 – Trip