【问题标题】:How to get the object owner through object_id?如何通过object_id获取对象所有者?
【发布时间】:2016-03-16 01:26:09
【问题描述】:

在这种情况下,我有两个模型:用户和答案。用户 has_many answers 和 Answer belongs_to user。如何通过 answer 对象的 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 %>

【问题讨论】:

  • 我不明白是什么问题,如果您的关联正确,answer.user 应该默认工作
  • 您是否在模型中定义了关联?
  • 伙计们,我在这里感觉很傻:(虽然我确定我已经放了belongs_to不在模型中:(抱歉打扰并感谢你的帮助!我会标记你的答案如果发布它们。

标签: ruby-on-rails-4 activerecord


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多