2010-12-05 122 views
0

我正在研究Ruby on Rails 3 Web應用程序,但不知道如何關聯兩個模型。Rails:兩個鬆散相關的模型之間的關係

在我們的組織銷售代表外出約會。如果約會成功,將導致創建一個訂單(然後將訂單項目與其相關,但那是另外一天。)如果此約會不成功,它將被標記爲不出售,並且您可能擁有猜測,沒有訂單創建。

另一方面,有時銷售發生沒有預約。例如,客戶可能會打電話進店並訂購一些東西。在這種情況下,訂單可以在沒有預約的情況下存在。

如果訂單和約會之間沒有關係,那將很簡單,但最終用戶的使用方便。例如,如果約會生成了訂單,但是稍後買家取消,它們將標記約定爲取消銷售,然後系統應自動將訂單設置爲取消。同樣,他們可能會選擇取消訂單,那麼系統必須自動取消預約。

開發人員如何處理這樣的事情?約會:have_many =>訂單嗎?做的順序:belongs_to =>約會?我不知道該怎麼辦!

請幫助我,我是一個漂亮的新鐵軌開發人員,我感到頭腦發熱!謝謝!

回答

1

正如你已經說了,下面將正常工作:

class Appointment < ActiveRecord::Base 
    has_many :orders 
end 

class Order < ActiveRecord::Base 
    belongs_to :appointment 
end 

belongs_to的要求現場appointment_id存在於訂單表。但是,如果訂單未與訂單關聯,則不需要設置appointment_id。給定類可以有多個belongs_to關聯。

+0

在一個側面說明,看看這個問題,我會說`Appointment`可能`has_one:order` – edgerunner 2010-12-05 08:15:39

相關問題