Ruby on rails Rails 4-仅显示与特定用户关联的数据

Ruby on rails Rails 4-仅显示与特定用户关联的数据,ruby-on-rails,Ruby On Rails,我正在构建一个问答应用程序。这些问题是静态的,是提供的,不是用户生成的。正在通过嵌套关系访问数据 在“个人用户”视图中,我想显示用户所回答的问题及其相关答案的列表。像这样: 问题1 用户1回答 在这一点上,我显示了每个问题,但所有的答案都显示出来,而不仅仅是特定用户的答案。像这样: 问题1 用户1回答 用户2回答 这是我的show.view中的代码。我也在没有“if answer.user”行的情况下尝试过,得到了同样的结果 <% @user.questions.uniq.each do

我正在构建一个问答应用程序。这些问题是静态的,是提供的,不是用户生成的。正在通过嵌套关系访问数据

在“个人用户”视图中,我想显示用户所回答的问题及其相关答案的列表。像这样:

问题1 用户1回答

在这一点上,我显示了每个问题,但所有的答案都显示出来,而不仅仅是特定用户的答案。像这样:

问题1 用户1回答 用户2回答

这是我的show.view中的代码。我也在没有“if answer.user”行的情况下尝试过,得到了同样的结果

<% @user.questions.uniq.each do |question| %>
  <h3><div class="answer"><%= question.question %> </div></h3>
    <% question.answers.each do |answer| %>
    <% if answer.user = current_user %>
      <div class="answer"><%= answer.answer %> <%= answer.created_at.strftime("(%Y)") %></div>
    <% end %>
  <% end %>
<% end %>

我很乐意提供任何其他有帮助的代码。谢谢

您将当前_用户分配给answer.user,您想用此行更改测试相等性

if answer.user == current_user

事实上,我更喜欢从不同的角度来看待它,我相信这也应该有效

<% @user.questions.uniq.each do |question| %>
  <h3><div class="answer"><%= question.question %> </div></h3>
  <% question.answers.where(user: @user).each do |answer| %>
    <div class="answer"><%= answer.answer %> <%= answer.created_at.strftime("(%Y)") %></div>
  <% end %>
<% end %>

天哪!真不敢相信我错过了!谢谢
if answer.user == current_user
<% @user.questions.uniq.each do |question| %>
  <h3><div class="answer"><%= question.question %> </div></h3>
  <% question.answers.where(user: @user).each do |answer| %>
    <div class="answer"><%= answer.answer %> <%= answer.created_at.strftime("(%Y)") %></div>
  <% end %>
<% end %>