【发布时间】:2024-01-21 13:42:01
【问题描述】:
我正在 Rails 中制作一个应用程序来展示动画,这些动画有并且属于多种语言,所以我创建了一个 HABTM 关联:
class Anime < ActiveRecord::Base
has_and_belongs_to_many :languages
end
class Language < ActiveRecord::Base
has_and_belongs_to_many :animes
end
现在我不知道如何在它们之间建立关联,我已经创建了许多语言的记录来使用它们,例如,ID 1 的语言是英语,ID 2 的语言是西班牙语,等等......我只想在动漫和语言之间建立关联,即,如果我想说 ID 为 1 的动漫仅提供西班牙语版本,那么我想在表animes_languages 中创建具有值anime_id: 1 的记录和language_id: 2 仅此而已,但我相信如果我执行命令Anime.find(1).languages.create 它不会使用现有的语言,它将创建一种新的语言,但我唯一想要的是在现有的动画之间建立关联使用已经存在的语言,那么,我该怎么做?我应该为animes_language的桌子制作模型吗?
这让我很困惑,因为当我按照此处enter link description here 的指定创建该表时,我创建的表没有 ID,它只有字段 anime_id 和 language_id。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 has-and-belongs-to-many