如何通过object_id获取对象所有者?

时间:2016-03-13 18:01:59

标签: ruby-on-rails-4 activerecord

在这种情况下我有两种型号:用户和答案。用户has_many回答并回答belongs_to用户。如何通过答案对象的user_id属性获取User对象?我的意思是,有一种简单的方法可以像“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 %>

1 个答案:

答案 0 :(得分:0)

嗯,这很傻但我觉得我需要发布答案,因为社区责任。 问题是我忘记在我的模型中定义关联,所以我把'belongs_to'放在答案中并且它起作用,如上面的人所说。