我正在Rails中一個應用程序來顯示動畫,這些animes已經存在的對象有屬於多國語言,所以我做了一個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
製作模型嗎?
這對我來說很讓人困惑,因爲當我按照這裏的指定創建表格時,我創建了沒有ID的表格,它只有字段anime_id
和language_id
。
尼斯,順便說一句,我怎麼能檢查,如果該關聯已經存在? – OiciTrap
我很確定你不需要。如果它已經存在,那麼您只需創建一個引用某種語言'id'的新'Anime'。否則,該語言將包含除'id'之外的所有內容,並且將被創建。 – fbelanger
我需要一些方法來知道ID爲'x'的動漫是否已與ID爲'y'的語言相關聯,或者我可以有多個記錄anime_id ='x'language_id ='y',只需測試它就可以發生。 – OiciTrap