Rails Generate Devise:Controllers not Working

SOLVED

I've just created the controller manually and make it inherit from Devise. For example:

class Users::RegistrationsController < Devise::RegistrationsController
    # Override the action you want here.
end

This controller should live in app/controllers/users/registrations_controller.rb. If you have any other scope just go with app/controllers/scope/registrations_controller.rb. For example if you have an admin scope it would be app/controllers/admins/registrations_controller.rb.

Best.

UPDATE

Following the comment from blushrt, I forgot to mention that it is important to modify config/routes.rb to make Devise use the created controller for the specific resource. For example, for users, you should put in your config/routes.rb:

devise_for :users, controllers: { registrations: "users/registrations" }

That's it. Best.


To answer the OP's original question of "Does anyone knows why?"

The problem is that this generator is currently only available on Devise's master branch, as stated on this GitHub issue.

If you want to use this feature before it's published, you could add this to your Gemfile:

gem 'devise', git: 'https://github.com/plataformatec/devise'

https://github.com/plataformatec/devise/wiki/Tool:-Generate-and-customize-controllers

You can run this command in your terminal.

bash <(curl -s https://raw.githubusercontent.com/foohey/cdc/master/cdc.sh)