我有一个如下所示的数据模型:
customer
有subscription_id
和setup_id
作为参数。在某些情况下,customer
只会有一个参数。在其他情况下,它将同时具备。
目前,如果我通过订阅流程或设置流程建立新客户,Subscription.last
或Setup.last
将反映最近创建的客户(customer_id
等于最后一个客户创建了)
但是,我遇到Customer.setup_id
或Custumer.subscription_id
在所有情况下都为零的问题。
以下是来自subscription.rb
和setup.rb
的代码:
class Subscription < ActiveRecord::Base
attr_accessible :status, :customer_id
belongs_to :customer
end
class Setup < ActiveRecord::Base
attr_accessible :status, :customer_id
belongs_to :customer
end
在customer.rb
:
class Customer < ActiveRecord::Base
attr_accessible :email, :name, :stripe_token, :subscription_id, :setup_id, :phone, :plan
has_one :subscription
has_one :setup
end
我不确定我在这里做错了什么,但如果三个数据模型能够正确地相互通信,我会很高兴。
修改:setup
和subscription
都属于:user
而不是:customer
,这是不是很糟糕?
编辑2 :更新了setup.rb和subscriptions.rb的代码,以正确反映当前的数据模型。 customer.rb
仍然无法识别正确的setup_id
或subscription_id
答案 0 :(得分:1)
class Subscription < ActiveRecord::Base
attr_accessible :status, :customer_id
belongs_to :customer
end
class Setup < ActiveRecord::Base
attr_accessible :status, :customer_id
belongs_to :customer
end
class Customer < ActiveRecord::Base
attr_accessible :email, :name, :stripe_token, :phone, :plan
has_one :subscription
has_one :setup
end
customer = Customer.first
customer.subscription # Instance of Subscription that belongs to customer
customer.setup # Instance of Setup that belongs to customer