我有一个使用devise 2.0.0进行身份验证的rails 3.2.8应用程序我将这个应用程序集成了refinerycms它现在成功集成了问题就是当用户点击时
localhost/refinery
它需要我精炼厂登录页面,但之后
成功登录后,它会重定向回我的应用程序主页
比refinerycms仪表板页面。
所以我想知道如何重定向到
炼油厂成功登录程序后的炼油厂仪表板。
我有路由挂载Refinery::Core::Engine
,
:at => '/' root to:'projects#index'
等
答案 0 :(得分:0)
创建一个自定义设计控制器,在用户登录后将其重定向到您想要的位置:
创建自定义控制器:controllers / users / sessions_controller.rb
class Users::SessionsController < Devise::SessionsController
before_filter :authenticate_user!, :only => [:destroy]
def new
super
end
def create
#Can edit this for custom redirect
super
end
def destroy
super
end
protected
def stub_options(resource)
methods = resource_class.authentication_keys.dup
methods = methods.keys if methods.is_a?(Hash)
methods << :password if resource.respond_to?(:password)
{ :methods => methods, :only => [:password] }
end
def after_sign_in_path_for(resource)
#Can edit this for custom redirect
super
end
def after_sign_out_path_for(resource)
super
end
private
end
然后告诉devise在routes.rb中使用该控制器:
devise_for :users, :controllers => {:sessions => "users/sessions"}