我正在寻找一些Rails应用程序来帮助用户预订餐厅的时间。如何以这种方式对其进行建模,以便可以通过浏览器显示和预订预订?我有两个模型:
class Restaurant < ActiveRecord::Base
has_many :reservations
class Reservation < ActiveRecord::Base
belongs_to :restaurant
attr_accessible :name, :date, :time
起初,我玩了一个使用餐厅模型中的哈希来存储可用性,使用日期作为键。但后来我意识到Rails数据库必须序列化哈希值,并且我想确保在我深入了解之前没有更好的方法来解决这个问题。
我正在使用Postgres(如果那是相关的)。任何帮助将不胜感激!
答案 0 :(得分:0)
您的基本模型结构很好。请注意,attr_accessible
不是当前的最佳做法,如Rails 4所示。(已被strong parameters取代)
答案 1 :(得分:0)
对于您正在使用的数据库(尽管PG是一个可靠的选择)并不重要,但是真正重要的通用工程。
我不会给你一份复制粘贴答案,但希望能给你一些方向。
所以餐厅可以全天有很多预订。我假设每个餐馆只能容纳这么多人,因此有某种类型的“预订限额”而且预订不能重叠。
由于约束,我想你的2模型方法将起作用。您只需确定他们必须如何互动才能按计划进行工作。
餐馆应该能够跟踪开放时间/空缺(或任何重要细节)。虽然预订会跟踪聚会中的人数,时间等。
您的初始关系看起来很明确。但另一个答案确实指出了新的Rails 4首选方法。