俱乐部是我存储学生班级信息的模型。
我有以下关联:
class Club < ActiveRecord::Base
has_many :mcqs
end
class Mcq < ActiveRecord::Base
#validation
validates :topic, presence: true,length: { minimum: 5 }
validates :club, presence: true
#association
belongs_to :user
belongs_to :club
end
这是我的俱乐部控制员 -
class ClubsController < ApplicationController
def student_show_index
@club = current_user.clubs
end
def student_show_topic
@club = current_user.clubs
@mcq = @club.mcqs
end
end
我只想将特定俱乐部的所有MCQ打印给学生。
这是我的观点,显示了MCQ的主题(student_show_topic)。
<%= render 'assessment/type' %>
<h1>List of Topics</h1>
<div class="main-cont">
<div class="stream-cont">
<div class="stream-cont">
<% @mcq.each do |f| %>
<div class="feed-cont-title all-header">
<tr>
<td><%= f.topic %></td>
</tr>
</div>
<% end %>
</div>
</div>
是关联问题。我的俱乐部模型无法访问mcq模型。
这是我的错误消息。
NoMethodError in ClubsController#student_show_topic
undefined method `mcqs' for #<Club::ActiveRecord_Associations_CollectionProxy:0x007fb031e0cf48>
Extracted source (around line #81):
79 def student_show_topic
80 @club = current_user.clubs
81 @mcq = @club.mcqs
82 end
83
84 end
之后我使用@mcq = @ club.first.mcqs
显示该俱乐部的所有Mcq。但在我的俱乐部表中,我将俱乐部指定为
所以我想在点击9-physics主题时只显示物理mcq主题等等。
答案 0 :(得分:1)
看你@club
不是单个对象,它是对象的集合,你不能用mcqs
调用@club
。
但你可以致电@club.first.mcqs