如何最好地在Rails中建立预订/约会数据库

时间:2013-07-10 16:12:21

标签: ruby-on-rails database associations

我正在寻找一些Rails应用程序来帮助用户预订餐厅的时间​​。如何以这种方式对其进行建模,以便可以通过浏览器显示和预订预订?我有两个模型:

class Restaurant < ActiveRecord::Base
    has_many :reservations


class Reservation < ActiveRecord::Base
    belongs_to :restaurant

    attr_accessible :name, :date, :time

起初,我玩了一个使用餐厅模型中的哈希来存储可用性,使用日期作为键。但后来我意识到Rails数据库必须序列化哈希值,并且我想确保在我深入了解之前没有更好的方法来解决这个问题。

我正在使用Postgres(如果那是相关的)。任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:0)

您的基本模型结构很好。请注意,attr_accessible不是当前的最佳做法,如Rails 4所示。(已被strong parameters取代)

答案 1 :(得分:0)

对于您正在使用的数据库(尽管PG是一个可靠的选择)并不重要,但是真正重要的通用工程。

我不会给你一份复制粘贴答案,但希望能给你一些方向。

所以餐厅可以全天有很多预订。我假设每个餐馆只能容纳这么多人,因此有某种类型的“预订限额”而且预订不能重叠。

由于约束,我想你的2模型方法将起作用。您只需确定他们必须如何互动才能按计划进行工作。

餐馆应该能够跟踪开放时间/空缺(或任何重要细节)。虽然预订会跟踪聚会中的人数,时间等。

您的初始关系看起来很明确。但另一个答案确实指出了新的Rails 4首选方法。