我正在开发一个Ruby on Rails 3 Web应用程序,我不确定如何关联两个模型。
在我们的组织中,销售代表会在约会时出去。如果约会成功,它将导致创建一个订单(然后订购与之相关的订单,但那是另一天。)如果此约会不成功,它将被标记为没有销售,因为您可能有猜到了,没有创造订单。
另一方面,有时销售没有预约。例如,顾客可以打电话到商店并订购一些东西。在这种情况下,订单可以在没有预约的情况下存在。
如果订单和约会之间没有任何关系,那将很简单,但最终用户必须易于使用。例如,如果约会生成订单,但稍后买方取消订单,则他们会将约会标记为已取消销售,然后系统应自动将订单设置为已取消。同样,他们可以选择取消订单,然后系统必须自动取消约会。
开发人员如何处理这样的事情?约会:have_many =>命令?订单:belongs_to =>约会?我不知道该怎么做!
请帮助我,我是一个非常新的铁轨开发人员,我觉得我的头脑!谢谢!
答案 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关联。