Rails:两个松散相关的模型之间的关系
问题描述:
我正在研究Ruby on Rails 3 Web应用程序,但不知道如何关联两个模型。Rails:两个松散相关的模型之间的关系
在我们的组织销售代表外出约会。如果约会成功,将导致创建一个订单(然后将订单项目与其相关,但那是另外一天。)如果此约会不成功,它将被标记为不出售,并且您可能拥有猜测,没有订单创建。
另一方面,有时销售发生没有预约。例如,客户可能会打电话进店并订购一些东西。在这种情况下,订单可以在没有预约的情况下存在。
如果订单和约会之间没有关系,那将很简单,但最终用户的使用方便。例如,如果约会生成了订单,但是稍后买家取消,它们将标记约定为取消销售,然后系统应自动将订单设置为取消。同样,他们可能会选择取消订单,那么系统必须自动取消预约。
开发人员如何处理这样的事情?约会:have_many =>订单吗?做的顺序:belongs_to =>约会?我不知道该怎么办!
请帮助我,我是一个漂亮的新铁轨开发人员,我感到头脑发热!谢谢!
答
正如你已经说了,下面将正常工作:
class Appointment < ActiveRecord::Base
has_many :orders
end
class Order < ActiveRecord::Base
belongs_to :appointment
end
belongs_to的要求现场appointment_id存在于订单表。但是,如果订单未与订单关联,则不需要设置appointment_id。给定类可以有多个belongs_to关联。
在一个侧面说明,看看这个问题,我会说`Appointment`可能`has_one:order` – edgerunner 2010-12-05 08:15:39