0

個人の興味や都市に関連してメールで取引を送信するリマインダーサービスを設定しています。基本的に、ユーザーは重要な日付(友達の誕生日、記念日など)とその特別な人の興味を入力します。

1)ユーザーの都市と2)関係者の興味に基づいた取引を送信したい

Dealモデルの関連付けをどのように設定する必要がありますか?

私が今まで持っているもの..

class User < ActiveRecord::Base
belongs_to :city
has_many :person_interests, :as => :person
has_many :interests, :through => :person_interests

end

class City < ActiveRecord::Base
 attr_accessible :name 
  belongs_to :province
  has_many :users
end

class PersonInterest < ActiveRecord::Base 
  belongs_to :interest
  belongs_to :person, :polymorphic => true  
end

class Interest < ActiveRecord::Base
  has_many :person_interests
end

ありがとう!

4

1 に答える 1

1

取引が複数の利害関係に適用される可能性がある場合は、次のようなものから始めます。

class Deal < ActiveRecord::Base 
  belongs_to :interests
  belongs_to :city
end

class City < ActiveRecord::Base
 attr_accessible :name 
  belongs_to :province
  has_many :users
  has_many :deals
end

class Interest < ActiveRecord::Base
  has_many :person_interests
  has_many :deals
end

そして、あなたは次のようなことをすることができます

@relevant_deals = @city.deals.where(:interest_id => 'abc')

また

@relevant_deals = @interest.deals.where(:city_id => 'def')
于 2012-06-19T18:45:08.640 に答える