【问题标题】:How do I get username from the id如何从 id 获取用户名
【发布时间】:2018-07-19 08:01:21
【问题描述】:

我想通过 caller_id 获取来电者的姓名。名称在用户表中。

这是迁移文件。

class AddCallerIdToSeller < ActiveRecord::Migration
  def change
    add_column :users, :caller_id, :string
  end
end

这是我目前正在做的视图。

 <td class="text-center"><%= call_report.caller_id.present? %></td>

当我这样做时,它显示为真。但我想获取用户名“=” caller_id

【问题讨论】:

  • 不只是检查它是否存在,而是显示它。将call_report.caller_id.present? 更改为call_report.caller_id
  • 如果我更改为 call_report.caller_id ,它只显示来电显示。我想要来电者的姓名。我的理解是,要获取该 caller_id 的名称,我需要通过 users 表来获取它。但我不知道怎么做:(
  • call_report 添加关联 belongs_to :caller 并在视图中执行 &lt;%= call_report.caller.name %&gt;

标签: sql ruby-on-rails database


【解决方案1】:
User.find(call_report.caller_id).name

在控制器中执行此操作并将其分配给那里的某个变量的最佳方法。

【讨论】:

    【解决方案2】:

    如果你这样做......

    class CallReport < ApplicationRecord
      belongs_to :user
    end
    

    你可以这样做

    call_report.user.name
    

    此外,ID 通常存储为整数,因此更常见的是...

    add_column :users, :caller_id, :integer
    

    我会做一个rake db:rollback 然后进行上述更改然后rake db:migrate

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-04-11
      • 2021-05-07
      • 2014-12-18
      • 1970-01-01
      • 2019-05-03
      • 2020-03-01
      • 1970-01-01
      • 2019-12-30
      相关资源
      最近更新 更多