gpt4 book ai didi

ruby-on-rails - Devise in Rails 4 的自定义 session Controller

转载 作者:行者123 更新时间:2023-12-04 19:59:11 25 4
gpt4 key购买 nike

尽可能多地关注 Wiki,但完成它有点困难。我以前用过 Devise,但我想了解有关 Devise 的新东西,所以我来了。

我遇到的问题是用户没有登录并被重定向。这是我到目前为止所拥有的。任何投入将不胜感激。谢谢!

设计移动到 views/admin/sessions/的 View

->路线

VnGrill::Application.routes.draw do
devise_for :admins, controllers: { sessions: 'admin/sessions' }, skip: [:sessions]

devise_scope :admin do
get 'signin', to: 'admin/sessions#new', as: :new_admin_session
post 'signin', to: 'admin/sessions#create', as: :admin_session
delete 'signout', to: 'admin/sessions#destroy', as: :destroy_admin_session,via:
Devise.mappings[:admin].sign_out_via
end

scope module: :admin do
resources :dashboard
end

root to: 'static_pages#index'
end

-> 管理::仪表板 Controller

class Admin::DashboardController < ApplicationController
layout 'dashboard'
before_filter :authenticate_admin!

def index
end
end

-> 管理:: session Controller

class Admin::SessionsController < Devise::SessionsController
layout 'dashboard'

def new
super
# My thought here was just to call super
# and let Devise handle as normal w/o defining anything custom
end

def create
super
end

def destroy
super
end

def resource_name
:admin
end

def resource
@resource ||= Admin.new
end

def devise_mapping
@devise_mapping ||= Devise.mappings[:admin]
end
end

-> session /新

.form-signin
%h2.form-signin-heading VN Grill Dashboard
= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f|
= devise_error_messages!
= f.email_field :email, class: 'form-control', autofocus: true, placeholder: 'Email'
%br/
= f.password_field :password, class: 'form-control', placeholder: 'Password'
= f.submit 'Login', class: 'btn btn-lg btn-danger btn-block pull-left'

最佳答案

你为什么不这样配置你的路由:

devise_scope :admin do
controllers: { sessions: 'admin/sessions' }
end

我建议您使用 devise rake 任务创建自定义 Controller ,然后进行进一步的更改。

rails generate devise:controllers [scope]

关于ruby-on-rails - Devise in Rails 4 的自定义 session Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19749014/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com