2012-12-27 42 views
1

我有以下模型(只包括主要細節),其中有Courts和他們的時間被分成CourtTimeSlots其可以是reserved通過任何Users - 下面或多或少說明。
我該如何建立這種關係? User應該有多少CourtTimeSlots:通過ReservationRails的模型的關係:通過與:的has_many

目的是爲了能夠獲得所有預訂並從那裏顯示UserCourt信息。

class User < ActiveRecord::Base 
end 

class Reservation < ActiveRecord::Base 
    ??? 
end 

class Court < ActiveRecord::Base 
    attr_accessible :court_number 
    has_many :court_sessions 
end 

class CourtTimeSlot < ActiveRecord::Base 
    attr_accessible :start_time, :end_time, :status 
end 

回答

2

我明白了。在這種情況下,以下內容可能會實現您的目標,說明如何通過預訂訪問您要查找的數據。

class Reservation < ActiveRecord::Base 
    belongs_to :time_slot 
    belongs_to :user 
end 

class User < ActiveRecord::Base 
    has_many :reservations 
end 

class CourtTimeSlot < ActiveRecord::Base 
    has_one :reservation 
    belongs_to :court 
end 

class Court < ActiveRecord::Base 
    has_many :court_time_slots 
end 

Reservations.all.each do |r| 
    r.user 
    r.time_slot.court.court_name 
end 
+0

謝謝。我正在考慮朝這個方向發展,但User/CourtTimeSlot之間的緊密聯繫聽起來不對。 CourtTimeSlot是嚴格屬於法院的東西。預訂意味着用戶和CourtTimeSlot之間的連接/所有權鬆散。 – ESoft

相關問題