2013-07-10 76 views
3

我期待編寫某種Rails應用程序來幫助用戶在餐廳預訂時間片。這怎麼可以用這樣的方式建模,以便可以通過瀏覽器顯示和預訂預訂?我有兩個模型:如何在Rails中建立預約/約會數據庫模型

class Restaurant < ActiveRecord::Base 
    has_many :reservations 


class Reservation < ActiveRecord::Base 
    belongs_to :restaurant 

    attr_accessible :name, :date, :time 

起初,我玩弄了一個在餐廳模型中使用散列來存儲可用性,使用日期作爲關鍵。但後來我意識到Rails數據庫必須序列化哈希值,並且我想確保在我深入研究這些內容之前沒有更好的方法去處理這個問題。

我使用Postgres(如果這是相關的)。任何幫助將非常感激!

回答

0

您的基本模型結構很好。請注意,attr_accessible不是當前的最佳做法,因爲Rails 4(它已被strong parameters替代)

0

對於您使用的數據庫(儘管PG是一個堅實的選擇)無關緊要,但一般工程是非常重要的。

我不會給你一個複製粘貼的答案,但希望給你一些方向。

所以a 餐廳可以有很多預訂全天。我假設每家餐廳只能容納這麼多人,因此有一些類型的「保留限制」和保留不能重疊。

由於約束條件,我想你的2模型方法將工作。你只需要弄清楚他們必須如何互動才能按計劃進行工作。

餐廳應該能夠跟蹤開放時間/空位(或任何重要的細節)。 預訂將記錄聚會中的人數,時間等。

您的初始關係看起來很好定義。但另一個答案確實指出了新的Rails 4首選方法。