【发布时间】:2019-01-08 09:04:20
【问题描述】:
我的 Rails 应用程序中有以下模型
型号community:
class Community < ActiveRecord::Base
has_many :community_program
end
型号community_program:
class CommunityProgram < ActiveRecord::Base
belongs_to :program_name
end
型号program_name:
class ProgramName < ActiveRecord::Base
has_many :community_programs
end
我正在尝试找到一种方法来提取所有不属于community_program 的program_names,而community_program 已经分配给community。
我已经能够拉出所有program_names,然后删除已经与community 关联的program_names,但这非常昂贵。可以直接拉取二级不关联记录吗?
编辑:这个问题与链接的问题不同,因为在这种情况下,program_name 可能与不同社区的社区计划有关联,但如果没有,我们仍然希望包含该名称与当前community 的关联。
**编辑 2:我想提取所有尚未分配给与特定社区关联的社区计划的程序名称。它们可以与与不同社区相关联的社区计划相关联。用例是用户应该能够从剩余名称列表中选择一个名称,并将其分配给与其社区相关的社区计划。
计划名称是全球性的,尽管特定社区的社区计划的计划名称是唯一的,但不同的社区可以将社区计划与相同的计划名称相关联**
【问题讨论】:
-
@JoshBrody 我不认为这是重复的,因为他们可以有其他关联我只是想确保他们不通过社区计划与特定社区相关联,但可以将同名连接到不同的社区
-
你能重新表述一下你需要做什么吗?我理解这一点:您需要所有
ProgramName1)不与任何CommunityProgram关联和 2)已经与Community关联?? -
顺便说一句,我认为您在
CommunityProgram模型中缺少一个关联belongs_to :community -
@gasc 是的,您是对的,缺少关联。我在移动设备上使用 Stackoverflow,所以我无法编辑它,但应该有关联
标签: ruby-on-rails ruby ruby-on-rails-4 activerecord