Rails 3.2 :( activerecord)我该如何建模?

时间:2012-02-02 10:43:38

标签: ruby-on-rails activerecord model tree

enter image description here

我有三个模型:RequestForQuoteCounterQuote < RequestForQuote [inherit RequestForQuote]Proposition

request_for_quote has_many propositionsproposition可以充当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

我该如何建模?感谢。

1 个答案:

答案 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将具有propositionpropositions属性,这不是很清楚,考虑重命名这些属性。

如果CounterQuote有很多命题,我同意Tass,你可以合并CounterQuote和RequestForQuote。如果您需要树结构(包含父级和子级),请查看现有的宝石,例如awesome_nested_set