我正在浏览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}}模型
答案 0 :(得分:0)
首先,我将Availableappointment重命名为Availability。
为每30分钟的时间段创建可用性实例。您可以通过编程方式为Physician预填充它,也可以由Physician在管理部分中自行添加它们。您需要此视图供Physician查看其可用约会,因为可用性实例对每位医生都是唯一的,而且医生可以随时删除/重新添加可用性。
然后将从可视化医师可用性的视图创建约会。根据可用性创建约会时,请删除可用性。