2016-11-15 64 views
2

我有一个属于用户的激活模型。我试图显示用户在视图中提交的激活信息,但我不知道如何执行此操作。例如,从两个Rails模型检索数据

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?我似乎失去了一些东西

因为用户有许多激活你需要首先确定你想要的激活号码你可能在这里找到它https://bitbucket.org/QuriouslyStrong/sample_app

+0

'activation.user.dealer_store' - 这是不行的。 –

回答

0

。说这是用户第一次启动它会user.activations.first.customer_phone_number

如果你已经激活比如你正在寻找你可以做activation.customer_phone_number

有几个activations听起来很奇怪我,所以也许你正在寻找做一个has_one & belongs_to关系而不是多对一的关系,但不能肯定地说。

0

您将需要能够识别您感兴趣的激活,因为所有用户的激活都将返回到数组中。

<%= user.activations[0].customer_phone_number %> 

会给你与用户相关联的第一激活信息...或者,如果你想详细说明所有与所有激活相关的不同的电话号码,您将需要通过每个迭代用户的激活通过一个块:

<% user.activations.each do |act| %> 
    <li><%= act.customer_phone_number %></li> 
<% end %> 
0

如果您正在查看当前用户的客户电话号码,那么你可以试试这个。

<% current_user.activations.each do |a| %> 
    <%= a.customer_phone_number %> 
<% end %> 

你也可以试试这个, 如果你的用户对象,那么你可以使用用户对象

<% user.activations.each do |a| %> 
    <%= a.customer_phone_number %> 
<% end %>