将一个表中的引用ID替换为另一个表中的字段

时间:2016-07-17 00:24:54

标签: mysql ruby-on-rails

我是Rails的新手,无法设置关系以使用简单的参考ID。我有一个食谱表,有一个用于课程选择的字段,它是一个整数。该整数是指一个表,它只是所有不同课程的参考表。如何设置关系,以便在我调用recipe.course时返回课程名称而不是id号

1 个答案:

答案 0 :(得分:1)

看一下has_many和belongs_to的关系: http://guides.rubyonrails.org/association_basics.html

您想要的关联是:
食谱belongs_to: :course
课程has_many: :recipes

然后确保生成迁移以将course_id添加到Recipe。 (请记住使用Rails:约定优于配置。约定是使用model_id作为关联列名。)

设置了这两个关联并正确迁移数据库后,recipe.course将返回课程匹配recipe.course_id的实例。 (然后您只需执行recipe.course.name即可获得课程名称。)

您还可以在course.recipes内获得与该课程相关的所有食谱的关系。