Rails:两个松散相关模型之间的关系

时间:2010-12-05 07:56:42

标签: ruby-on-rails ruby-on-rails-3

我正在开发一个Ruby on Rails 3 Web应用程序,我不确定如何关联两个模型。

在我们的组织中,销售代表会在约会时出去。如果约会成功,它将导致创建一个订单(然后订购与之相关的订单,但那是另一天。)如果此约会不成功,它将被标记为没有销售,因为您可能有猜到了,没有创造订单。

另一方面,有时销售没有预约。例如,顾客可以打电话到商店并订购一些东西。在这种情况下,订单可以在没有预约的情况下存在。

如果订单和约会之间没有任何关系,那将很简单,但最终用户必须易于使用。例如,如果约会生成订单,但稍后买方取消订单,则他们会将约会标记为已取消销售,然后系统应自动将订单设置为已取消。同样,他们可以选择取消订单,然后系统必须自动取消约会。

开发人员如何处理这样的事情?约会:have_many =>命令?订单:belongs_to =>约会?我不知道该怎么做!

请帮助我,我是一个非常新的铁轨开发人员,我觉得我的头脑!谢谢!

1 个答案:

答案 0 :(得分:1)

如您所说,以下内容可以正常使用:

class Appointment < ActiveRecord::Base
  has_many :orders
end

class Order < ActiveRecord::Base
   belongs_to :appointment
end

belongs_to要求字段appointment_id出现在orders表中。但是,如果订单与订单无关,则不需要设置appointment_id。您可以为给定的类具有多个belongs_to关联。