如何让对象所有者通过object_id



在这种情况下,我有两个模型:用户和答案。用户has_many答案和回答belongs_to用户。如何通过答案对象的user_id属性获取用户对象?我的意思是,有没有一种简单的方法可以像"answer.user"一样做到这一点?我不想使用像User.find(answer.user_id)这样的东西,原因是我无法在客户端发出请求。请参阅下面的代码:

  <% @answers.each do |answer| %>
    <div class="row answer">
      <div class="col-sm-10">
        <p><%= search_long_words(answer.text) %></p>
        <p>respondido por <%= link_to "#{answer.user.username}", profile_path(answer.user_id) %> em <%= answer.created_at.strftime("%d/%m/%Y") %></p>
      </div>
      <div class="col-sm-1">
        <% if user_signed_in? && answer.user_id == current_user.id %>
          <%= link_to 'Editar', edit_answer_path(answer) %>
        <% end %>
      </div>
      <div class="col-sm-1">
        <% if user_signed_in? && answer.user_id == current_user.id %>
          <%= link_to 'Apagar', answer, method: :delete, data: { confirm: 'Deseja apagar sua resposta?' } %></td>
        <% end %>
      </div>
    </div>
  <% end %>

嗯,这很愚蠢,但由于社区责任,我觉得我需要发布答案。问题是我忘记在我的模型中定义关联,所以我在答案中输入了"belongs_to",正如上面的人所说,它起作用了。

最新更新