gwa*_*ton 1 ruby ruby-on-rails associations
我到处找,找不到任何东西(也许是因为不可能)
我有一个会议模型和一个语言模型(它有一个名为语言的字符串列)。每个会议有 2 种语言。
有没有办法建立关联,比如:rails g migration AddLanguageToMeetings language:references
然后在引用中存储一个包含 2 个 language_ids 的数组?
例如, Meeting.language_id = [1,2]
然后就可以调用语言了,比如:
meeting.language_id[0].language
我怎样才能建立这个协会?我是否需要有 2 个不同的列和每个关联的 ID?
谢谢!!
你想要的是 N 对 N 的关系。创建另一个名为 MeetingLanguage 的模型,其中包含两列:
create_table :meeting_languages do |t|
t.references :meetings
t.references :languages
end
Run Code Online (Sandbox Code Playgroud)
和协会:
class MeetingLanugage < ActiveRecord::Base
belongs_to :language
belongs_to :meeting
end
Run Code Online (Sandbox Code Playgroud)
然后在会议模块中:
has_many :meeting_languages
has_many :languages, through: :meeting_languages, source: :language
Run Code Online (Sandbox Code Playgroud)
现在,您可以在一次会议中使用任意数量的语言。
| 归档时间: |
|
| 查看次数: |
1297 次 |
| 最近记录: |