Active Record数据库组织

时间:2017-08-21 03:38:53

标签: mysql ruby-on-rails activerecord

我正在创建我的第一个网络应用作为作业。我正在撰写项目提案,部分提案是创建架构。

应用程序概念很简单,它创建了一个锻炼日志,用户可以创建,编辑和删除所有保存在有组织的日志中的锻炼。

我无法考虑构建数据库的最佳方法,因此当用户想要获取特定的锻炼时,它会附带所有练习及其结果。

到目前为止,我已经提出了这种布局。我想workouts.exercises.results会收集正确的信息,但我想知道他们是否是一种更整洁的方式来组织这些数据,因为这是我第一次使用最佳实践来创建它。

锻炼

列名称

ID
命名
USER_ID
updated_at

练习

列名称

ID
命名
workout_id
updated_at

结果

列名称

ID
exercise_id
workout_id

代表
持续时间
updated_at

1 个答案:

答案 0 :(得分:1)

根据我的理解,Workouts has many exercisesExercise has one Result

如果是,那么您在结果表中不需要锻炼ID。

要按workout提取记录,请使用以下代码:

w = Workout.find(workout_id)
w.exercises.each do |e|
   puts "Exercise=#{e.name} and result = #{e.result}}
end