我有三个模型:RequestForQuote
,CounterQuote < RequestForQuote [inherit RequestForQuote]
和Proposition
。
request_for_quote
has_many propositions
,proposition
可以充当counter_quote
的树。
我已经拥有:
class RequestForQuote < ActiveRecord::Base
has_many :propositions, :dependent => :destroy
end
class CounterQuote < RequestForQuote
end
class Proposition < ActiveRecord::Base
belongs_to :request_for_quote
end
我该如何建模?感谢。
答案 0 :(得分:0)
如果一个命题只能有一个CounterQuote,你可以使用它:
class RequestForQuote < ActiveRecord::Base
has_many :propositions, :dependent => :destroy
end
class CounterQuote < RequestForQuote
belongs_to :proposition
end
class Proposition < ActiveRecord::Base
belongs_to :request_for_quote
has_one :counter_quote
end
CounterQuote将具有proposition
和propositions
属性,这不是很清楚,考虑重命名这些属性。
如果CounterQuote有很多命题,我同意Tass,你可以合并CounterQuote和RequestForQuote。如果您需要树结构(包含父级和子级),请查看现有的宝石,例如awesome_nested_set。