Wednesday, 2 October 2013

When overriding the registration controller from devise, is it possible to access the newly created user on the create action?

When overriding the registration controller from devise, is it possible to
access the newly created user on the create action?

I'm trying to create a folder right after a user registers, so I override
the create action on the registration controller (devise) but I don't know
how to access the newly created user in order to create the folder with
it's name to upload files later.
So far I've got this:
class RegistrationsController < Devise::RegistrationsController
def new
super
end
def create
super
create_folder
end
def update
super
end
def create_folder
path = Pathname.new(':rails_root/tmp/')
directory_name = ":current_user"
Dir.mkdir(path, directory_name) unless File.exists?(directory_name)
end
end
routes.rb
devise_for :users, :controllers => {:registrations => "registrations"}
I followed this to override the registration controller.
Should I leave it there or move it to the create action? Instead of using
a method
is that the right way to access the current user?
Maybe instead of registration it's better to do it on sign in?
I'd appreciate any help I can get.

No comments:

Post a Comment