给定一个Rails 5 has_and_belongs_to_many,如何创建连接记录?
Given a Rails 5 has_and_belongs_to_many, how to create a join record?
我有以下架构:
class Industry << ApplicationRecord
has_and_belongs_to_many :departments
end
# Relationship table: departments_industries
class Department << ApplicationRecord
has_and_belongs_to_many :industries
has_and_belongs_to_many :job_titles
end
# Relationship table: departments_job_titles
class JobTitle << ApplicationRecord
has_and_belongs_to_many :departments
end
当我要创建关系记录时:
department.job_titles.find_or_create_by(title: title)
仅当上面的查询创建记录时,以上内容才会在 departments_job_titles
中创建记录...如果 JobTitle 已经存在,Rails 不会在 [= 中创建关系记录15=].
如何更新:
department.job_titles.find_or_create_by(title: title)
要始终在找到或创建 JobTitle 记录时在 departments_job_titles
中创建关系记录?
试试这个:
department.job_titles << JobTitle.find_or_create_by(title: title)
我有以下架构:
class Industry << ApplicationRecord
has_and_belongs_to_many :departments
end
# Relationship table: departments_industries
class Department << ApplicationRecord
has_and_belongs_to_many :industries
has_and_belongs_to_many :job_titles
end
# Relationship table: departments_job_titles
class JobTitle << ApplicationRecord
has_and_belongs_to_many :departments
end
当我要创建关系记录时:
department.job_titles.find_or_create_by(title: title)
仅当上面的查询创建记录时,以上内容才会在 departments_job_titles
中创建记录...如果 JobTitle 已经存在,Rails 不会在 [= 中创建关系记录15=].
如何更新:
department.job_titles.find_or_create_by(title: title)
要始终在找到或创建 JobTitle 记录时在 departments_job_titles
中创建关系记录?
试试这个:
department.job_titles << JobTitle.find_or_create_by(title: title)