在Rails中预约时间表

时间:2011-03-16 19:34:09

标签: ruby-on-rails activerecord

我正在浏览rails association教程http://guides.rubyonrails.org/association_basics.html

我想进一步扩展这个模型以满足我的需求:

class Physician < ActiveRecord::Base
  has_many :appointments
  has_many :patients, :through => :appointments
end

class Appointment < ActiveRecord::Base
  belongs_to :physician
  belongs_to :patient
end

class Patient < ActiveRecord::Base
  has_many :appointments
  has_many :physicians, :through => :appointments
end

如何制作has_many约会与Physician

关联的模型

例如:

class Physician < ActiveRecord::Base
  has_many :appointments
  has_many :availableappointments
  has_many :patients, :through => :appointments
end

class Availableappointment < ActiveRecord::Base
  belongs_to :physician
end

我对如何在模型中存储不同的时间框架感到难过?让我们说医生从早上8点到下午3点可用,每次预约30分钟(8:30-9,9-9:30,9:30-10)......我怎样才能将这些信息存储在DB或{{ 1}}模型

1 个答案:

答案 0 :(得分:0)

首先,我将Availableappointment重命名为Availability。

为每30分钟的时间段创建可用性实例。您可以通过编程方式为Physician预填充它,也可以由Physician在管理部分中自行添加它们。您需要此视图供Physician查看其可用约会,因为可用性实例对每位医生都是唯一的,而且医生可以随时删除/重新添加可用性。

然后将从可视化医师可用性的视图创建约会。根据可用性创建约会时,请删除可用性。