如何在rails 2中单次调用时调用两个不同的create方法

时间:2011-03-22 07:37:32

标签: ruby-on-rails

我是rails和开发小型用户应用程序的新手。在我的应用程序中,我有一个用户模型和一个订阅模型。我希望当用户创建他/她的个人资料并点击提交按钮时,应该同时调用另一个操作,称为订阅,其输入用户的数据,例如profile_id,subscription_id,plan_id并生成原始状态,相同的订阅表。我正在使用'AASM'进行国家管理。我知道如何使用控制台在订阅表中插入值,这很好。但是,我想在用户注册新配置文件后立即创建新订阅。我的意思是,如何在单个事件中调用两个create方法。

1 个答案:

答案 0 :(得分:0)

我没有清楚地说清楚,但我想after_create就是你所需要的 (假设user :has_one => :profileprofile has_many => :subscriptions

profile模型中

after_create :subscribe!  

attr_accessor :plan_id, :subscription_id

def subscribe!
  self.subscriptions << Subscription.new(:plan_id => plan_id, :subscription_id => subscription_id)
  self.save
end