我的Rails应用程序中具有以下模型:
class Test
has_many :tests_profiles
has_many :class_profiles
class TestProfile
belongs_to :class_profile
belongs_to :test
class ClassProfile
has_many :tests_profiles
我必须查询属于特定tests
的{{1}}。我现在的助手功能是这样的:
ClassProfile
在我的def get_tests(class_profile)
return Test.joins(:tests_profiles).where(tests_profiles: {class_profile_id: class_profile.id})
文件中,我正在遍历这样的结果:
erb
但是这里的问题是我要获取所有测试名称,而不是与该特定<% tests = get_tests(class_profile) %>
<% tests.each do |test| %>
<th><%= test.name %></th>
<% end %>
关联的onlt名称。我该如何纠正它,使其以我想要的方式起作用?
答案 0 :(得分:0)
您可以在此处使用has_many through
class Test
has_many :tests_profiles
has_many :class_profiles, through: :tests_profiles
class TestsProfile
belongs_to :class_profile
belongs_to :test
class ClassProfile
has_many :tests_profiles
has_many :tests, through: :tests_profiles
并在视图中使用class_profile.tests.each do