Hi, I'm using Devise and Cancan in my project. I'm a beginner still. I'm trying to create a new Profile object each time a new user is created. Anyone know where to do this, as there is no new action in User controller. I have a user model and a Profile model User model: user has_one :profile Profile model: profile belongs_to :user
on 2013-03-10 15:14
on 2013-03-10 17:17
use a model callback - http://api.rubyonrails.org/classes/ActiveRecord/Ca... :after_create :create_profile private def create_profile ... end
on 2013-03-10 18:02
On 10 March 2013 14:14, Dave Castellano <firstname.lastname@example.org> wrote: > > Profile model: > profile belongs_to :user > > How to create an object in one model at the same time as another Have a look at the Rails Guide on ActiveRecord Associations and you will see that for a has_one association there will be a create_association method defined for you. So in the create action for a user, after it is successfully saved you can call create_profile to create and save a new profile. Alternatively, as Jodi has suggested, you could put this in an after_create callback. Colin
on 2013-03-10 22:38
after it is successfully saved you can call create_profile > to create and save a new profile. Alternatively, as Jodi has > suggested, you could put this in an after_create callback. > > Colin Thanks. The after_create callback works nicely as I have no new or create actions in the users controller using Devise/Cancan. Not sure where they but thats another weekend project!