如何为物理治疗师定义此Rails应用程序的模型关系?

时间:2014-07-25 08:24:55

标签: ruby-on-rails ruby rails-activerecord

我是Ruby on Rails的初学者,试图构建我的第一个真实的Rails应用程序。

这个想法如下:

该应用程序显示了练习的概述。每个练习都有一个类别:string,bodypart:string,instructions:text和image(将使用Paperclip gem添加它)。然后有患者。每位患者都有一个名字:string和email:string。最后还有运动计划。每个锻炼计划都有一个名称:字符串,将包含练习概述中的练习。

作为应用程序(物理治疗师)的用户,我可以从概述中选择练习,并以PDF的形式通过电子邮件将其发送给患者(将使用Prawn gem实现此操作)。在选择锻炼时,用户(物理治疗师)应该能够在每次锻炼中输入“重复”或“持续时间”。这应该添加到练习计划中并打印到PDF。

如何在ActiveRecord中最好地定义模型关联?

1 个答案:

答案 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

数据库中需要的表:exercisespatientsexercise_plansexercise_plans_exercises。最后一个只是持有计划和练习之间的关联,只需要引用exercise_plan_idexercise_id