我正在开发一个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,设计路线就可以了。但我仍然想隔离插件自己的控制器。
发布于 2014-04-27 08:00:14
我有一个选择:
在插件路由中,我可以覆盖控制器:
devise_for :users, class_name: "Subscribem::User", controllers: { sessions: 'devise/sessions', passwords: 'devise/passwords', registrations: 'devise/registrations' }但我们欢迎更多的选择。
https://stackoverflow.com/questions/23320723
复制相似问题