rails插件中的Devise Routes不正确

时间:2014-04-27 07:46:30

标签: ruby-on-rails devise

我正在开发一个rails插件。我想在插件中使用devise进行身份验证。

似乎错误地绘制了路线:

Routes for Subscribem::Engine:
        new_user_session GET    /users/sign_in(.:format)       subscribem/sessions#new
            user_session POST   /users/sign_in(.:format)       subscribem/sessions#create

他们应该是:

        new_user_session GET      /users/sign_in(.:format) devise/sessions#new
            user_session POST     /users/sign_in(.:format) devise/sessions#create

这是插件的路径文件:

Subscribem::Engine.routes.draw do
  devise_for :users, class_name: "Subscribem::User"

该插件与命名空间隔离:

module Subscribem
  class Engine < ::Rails::Engine
    isolate_namespace Subscribem

如果我删除了isolate_namespace,那么设计路线就可以了。但我仍然希望隔离插件自己的控制器。

1 个答案:

答案 0 :(得分:0)

我有一个选择:

在插件路由中我可以覆盖控制器:

devise_for :users, class_name: "Subscribem::User", controllers: { sessions: 'devise/sessions', passwords: 'devise/passwords', registrations: 'devise/registrations' }

但欢迎更多选择