Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails engine and devise

I have a Rails Engine, where I want to use Devise. I installed devise like normal following this guide.

I added this in my engine devise.rb:

Devise.setup do |config|
  config.router_name = :cms_user
end

I added this in my routes file:

Cms::User::Engine.routes.draw do
  devise_for :users, {
    class_name: 'Cms::User',
    module: :devise
  }
end

I added this in my routes:

devise_for :users, {
  class_name: 'Cms::User',
  module: :devise
}

However I keep getting this error:

undefined method 'cms_user'

What am I doing wrong ?

like image 822
jakobk Avatar asked May 11 '26 05:05

jakobk


1 Answers

Here's the how to:

  1. Rails plugin new cms --mountable -d postgresql

2: Install devise like normal

3: Add this in the main application routes file:

  devise_for :users, {
     class_name: 'Cms::User',
     module: :devise
   }

This line here, mentioned in the devise wiki, caused the problems for me:

config.router_name = :Cms_user 

Wiki: https://github.com/plataformatec/devise/wiki/How-To:-Use-devise-inside-a-mountable-engine

like image 93
jakobk Avatar answered May 13 '26 19:05

jakobk



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!