我正在试图弄清楚如何在我的一个模型中进行表连接。
有点,问题和用户。
point.rb
class Point < ActiveRecord::Base
belongs_to :user
belongs_to :question
end
question.rb
class Question < ActiveRecord::Base
has_many :points
end
user.rb
class User < ActiveRecord::Base
在我的积分控制器中,我这样做:
def index
@points = Point.all
@user_points = Point.where('user_id' => current_user)
end
在我的积分/索引视图中:
<% @user_points.each do |user_point| %>
<tr>
<td><%= current_user.name %></td>
<td><%= user_point.question_id %></td>
<td><%= user_point.correct_answer %></td>
<td><%= user_point.user_answer %></td>
</tr>
<% end %>
我需要在问题表中访问每个问题的名称(我的视图中有问题ID。我是一个n00b到rails,并且无法弄清楚如何使用文档。
答案 0 :(得分:1)
如果您阅读我之前的回答,请忽略它。我误解了你的问题。这应该有用。
在您看来:
<% user_points.questions.each do |question| %>
...Do whatever...
<% end %>
答案 1 :(得分:0)
看看Rails指南,特别是这两个:
我认为你应该可以在模型中设置它:
class User < ActiveRecord::Base
has_many :points, :through => :questions
end
控制器中的说@user_points = current_user.points
。这应该已经适用于您当前的代码!
<% @user_points.each do |user_point| %>
<td><%= user_point.question.name %></td>
<% end %>