Rails引擎和设计 [英] Rails engine and devise

查看:110
本文介绍了Rails引擎和设计的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个Rails引擎,我想使用Devise。我在这个引导



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

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

我在我的路线中添加了文件:

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

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

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

但是不断得到这个错误:

  undefined方法'cms_user'

我做错了什么?

解决方案

以下是如何:


  1. Rails插件新的cms - 可安装-d postgresql

2:像正常安装设计



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

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

这里的这行,在devise wiki中提到,导致了我的问题:

  config.router_name =:Cms_user 

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


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 ?

解决方案

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

这篇关于Rails引擎和设计的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆