我有一个属于User的激活模型。我试图显示用户在视图中提交的激活信息,但我不确定如何执行此操作。例如,
class Activation < ApplicationRecord
belongs_to :user
default_scope -> { order(created_at: :desc) }
validates :user_id, presence: true
validates :dealer_store, presence: true, length: { maximum: 50 }
validates :customer_name, presence: true, length: { maximum: 50 }
validates :customer_phone_number, presence: false, length: { maximum: 10 }
class User < ApplicationRecord
has_many :activations
validates :name, presence: true, length: { maximum: 50 }
我能够通过用户ID获取激活用户的数据,如此
<%= activation.user.dealer_store %>
如何获取激活用户的customer_phone_number?我好像错过了什么
找到它答案 0 :(得分:0)
由于用户有多次激活,您需要先确定所需的激活码。假设这是用户首次激活,它将是user.activations.first.customer_phone_number
如果您已经拥有要查找的激活实例,则可以执行activation.customer_phone_number
有几个activations
听起来很奇怪,所以也许你想要做一个has_one&amp;属于关系,而不是多对一的关系,但不能肯定地说。
答案 1 :(得分:0)
您将需要能够识别您感兴趣的激活,因为所有用户的激活都将以阵列形式返回。
<%= user.activations[0].customer_phone_number %>
会为您提供与用户关联的第一次激活的信息...或者,如果您想详细说明与所有激活相关联的所有不同电话号码,您需要通过一个用户的激活来迭代每个用户的激活块:
<% user.activations.each do |act| %>
<li><%= act.customer_phone_number %></li>
<% end %>
答案 2 :(得分:0)
如果您正在查看当前用户的客户电话号码,那么您可以试试这个。
<% current_user.activations.each do |a| %>
<%= a.customer_phone_number %>
<% end %>
你也可以试试这个, 如果您有用户对象,则可以使用用户对象
<% user.activations.each do |a| %>
<%= a.customer_phone_number %>
<% end %>