2013-07-10 37 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首选方法。