【问题标题】:Rails: Relationship between two loosely related modelsRails:两个松散相关模型之间的关系
【发布时间】:2010-12-05 16:09:12
【问题描述】:

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

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

另一方面,有时会在没有预约的情况下进行销售。例如,客户可能会打电话到商店订购东西。在这种情况下,无需预约即可存在订单。

如果订单和约会之间没有关系,那会很简单,但为了最终用户的易用性,必须要有。例如,如果一个约会产生了一个订单,但后来买家取消了,他们会将约会标记为取消销售,然后系统应该自动将订单设置为取消。同样,他们可以选择取消订单,然后系统必须自动取消约会。

开发人员如何处理这样的事情?是否预约 :have_many => 订单?订单:belong_to => 约会吗?我不知道该怎么办!

请帮我解决这个问题,我是一个非常新的 Rails 开发人员,我感到头疼!谢谢!

【问题讨论】:

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


    【解决方案1】:

    正如您已经说过的,以下内容可以正常工作:

    class Appointment < ActiveRecord::Base
      has_many :orders
    end
    
    class Order < ActiveRecord::Base
       belongs_to :appointment
    end
    

    belongs_to 要求在 orders 表中存在字段 modify_id。但是,如果订单没有与订单关联,则不需要设置约会 ID。一个给定的类可以有多个 belongs_to 关联。

    【讨论】:

    • 在旁注中,看看这个问题,我会说Appointment 可能是has_one :order
    猜你喜欢
    • 1970-01-01
    • 2015-12-24
    • 1970-01-01
    • 1970-01-01
    • 2018-05-28
    • 1970-01-01
    • 2019-09-26
    • 2018-07-11
    • 1970-01-01
    相关资源
    最近更新 更多