Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 4 如何通过对象id获取对象所有者?_Ruby On Rails 4_Activerecord - Fatal编程技术网

Ruby on rails 4 如何通过对象id获取对象所有者?

Ruby on rails 4 如何通过对象id获取对象所有者?,ruby-on-rails-4,activerecord,Ruby On Rails 4,Activerecord,在这种情况下,我有两个模型:User和Answer。用户有很多答案,答案属于用户。如何通过应答对象的User_id属性获取用户对象?我的意思是,有没有一种简单的方法可以像“回答.用户”这样做?我不想使用像User.find(answer.User\u id)这样的东西,原因是我不能在客户端发出请求。请参阅下面的代码: <% @answers.each do |answer| %> <div class="row answer"> <div c

在这种情况下,我有两个模型:User和Answer。用户有很多答案,答案属于用户。如何通过应答对象的User_id属性获取用户对象?我的意思是,有没有一种简单的方法可以像“回答.用户”这样做?我不想使用像User.find(answer.User\u 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 %>

有反应的


好吧,这很傻,但我觉得我需要发布答案,因为社区责任。
问题是我忘了在我的模型中定义关联,所以我在答案中加入了“属于”,它就起了作用,正如上面的人所说。

我不明白问题出在哪里,
答案。如果你的关联正确,用户默认情况下应该起作用。你在模型中定义关联了吗?伙计们,我在这里感觉很傻:(虽然我确信我已经写了,但所属的不在模型中。)(抱歉打扰你,谢谢你的帮助!如果你的答案贴出来,我会记下的。