我正在创建我的第一个网络应用作为作业。我正在撰写项目提案,部分提案是创建架构。
应用程序概念很简单,它创建了一个锻炼日志,用户可以创建,编辑和删除所有保存在有组织的日志中的锻炼。
我无法考虑构建数据库的最佳方法,因此当用户想要获取特定的锻炼时,它会附带所有练习及其结果。
到目前为止,我已经提出了这种布局。我想workouts.exercises.results会收集正确的信息,但我想知道他们是否是一种更整洁的方式来组织这些数据,因为这是我第一次使用最佳实践来创建它。
列名称
ID
命名
USER_ID
updated_at
列名称
ID
命名
workout_id
updated_at
列名称
ID
exercise_id
workout_id
套
代表
持续时间
updated_at
答案 0 :(得分:1)
根据我的理解,Workouts has many exercises
,Exercise has one Result
。
如果是,那么您在结果表中不需要锻炼ID。
要按workout
提取记录,请使用以下代码:
w = Workout.find(workout_id)
w.exercises.each do |e|
puts "Exercise=#{e.name} and result = #{e.result}}
end