When overriding the registration controller from devise, is it possible to access the newly created

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)
endend

routes.rb

devise_for :users, :controllers => {:registrations => “registrations”}

I followed
thishttp://stackoverflow.com/questions/3546289/override-devise-registrations-controller
to
override the registration controller.

  1. Should I leave it there or move it to the create action? Instead
    of
    using a method
  2. is that the right way to access the current user?
  3. Maybe instead of registration it’s better to do it on sign in?

On Wed, Oct 2, 2013 at 10:41 AM, Monserrat F.
[email protected] wrote:

is that the right way to access the current user?
Maybe instead of registration it’s better to do it on sign in?

I don’t know how you have your application encapsulated or even what
you consider behavior but if it were me I would skip trying to be
clever and skip trying to override methods I have no business being in
and simply hook into creation on the model:
ActiveRecord::Callbacks
ActiveModel::Callbacks just
because it’s tied to the database does not mean it’s strictly an
interface between your app and the database ;).

There is a resource object about that should have the newly created
user.

Check out:

This methodology worked well for me.