mysql - 用一个表中的引用 ID 替换另一个表中的字段

标签 mysql ruby-on-rails

我是 Rails 新手,在设置关系以使用简单的引用 ID 时遇到困难。我有一个食谱表,其中一个用于类(class)选择的字段是整数。该整数指的是一个表,该表只是所有不同可能类(class)的引用表。我如何设置关系,以便当我调用recipe.course时它返回类(class)名称而不是id号

最佳答案

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

您想要的关联是:
食谱belongs_to::course
类(class) has_many: :recipes

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

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

您还可以执行course.recipes并获取与该类(class)关联的所有食谱的关系。

关于mysql - 用一个表中的引用 ID 替换另一个表中的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38416831/

相关文章:

ruby-on-rails - RSpec - 测试强参数

ruby-on-rails - 按商店搜索和分组产品 REDIS

ruby-on-rails - 为什么我的 Rails 查找查询选择了所有记录?

php - 仅显示一条添加的记录,无法在 CMS 管理面板中查看更多记录

MySQL 数据库 - 导入 100 万条条目

ruby-on-rails - rails 5 : Can you pluralize two words in a string with two different counts?

java - 类似于 Java Web 应用程序世界中的 RJS(用于 Ruby on Rails)?

python - Python 中 mysqldb 模块的 MySQL UPDATE 语法问题

用于删除具有 2 个特定重复字段的行的 MySQL 语法?

MySQL通过自定义条件获取相关数据