我是Ruby on Rails的初学者,试图构建我的第一个真实的Rails应用程序。
这个想法如下:
该应用程序显示了练习的概述。每个练习都有一个类别:string,bodypart:string,instructions:text和image(将使用Paperclip gem添加它)。然后有患者。每位患者都有一个名字:string和email:string。最后还有运动计划。每个锻炼计划都有一个名称:字符串,将包含练习概述中的练习。
作为应用程序(物理治疗师)的用户,我可以从概述中选择练习,并以PDF的形式通过电子邮件将其发送给患者(将使用Prawn gem实现此操作)。在选择锻炼时,用户(物理治疗师)应该能够在每次锻炼中输入“重复”或“持续时间”。这应该添加到练习计划中并打印到PDF。
如何在ActiveRecord中最好地定义模型关联?
答案 0 :(得分:2)
我会从这样的事情开始:
class Exercise < ActiveRecord::Base
has_many :exercise_plans
end
class Patient < ActiveRecord::Base
has_many :exercise_plans # or perhaps just `has_one`?
end
class ExercisePlan < ActiveRecord::Base
belongs_to :patient
has_and_belongs_to_many :exercises
end
数据库中需要的表:exercises
,patients
,exercise_plans
,exercise_plans_exercises
。最后一个只是持有计划和练习之间的关联,只需要引用exercise_plan_id
和exercise_id