Rails 引擎和设计

jak*_*obk 3 ruby-on-rails content-management-system rails-engines devise

我有一个 Rails 引擎,我想在其中使用 Devise。我按照本指南正常安装了设备。

我在我的引擎 devise.rb 中添加了这个:

Devise.setup do |config|
  config.router_name = :cms_user
end
Run Code Online (Sandbox Code Playgroud)

我在我的路由文件中添加了这个:

Cms::User::Engine.routes.draw do
  devise_for :users, {
    class_name: 'Cms::User',
    module: :devise
  }
end
Run Code Online (Sandbox Code Playgroud)

我在我的路线中添加了这个:

devise_for :users, {
  class_name: 'Cms::User',
  module: :devise
}
Run Code Online (Sandbox Code Playgroud)

但是我不断收到此错误:

undefined method 'cms_user'
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么 ?

jak*_*obk 5

以下是方法:

  1. Rails 插件新的 cms --mountable -d postgresql

2:像往常一样安装设备

3:在主应用程序路由文件中添加:

  devise_for :users, {
     class_name: 'Cms::User',
     module: :devise
   }
Run Code Online (Sandbox Code Playgroud)

在设计维基中提到的这一行给我带来了问题:

config.router_name = :Cms_user 
Run Code Online (Sandbox Code Playgroud)

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