Tôi đang ghi đè bộ điều khiển phiên Devise để tinh chỉnh hành vi đăng nhập của người dùng. Trong trường hợp của tôi, tôi có hai loại người dùng - Người dùng chính và người dùng phụ. Người dùng phụ chỉ có thể đăng nhập nếu người dùng chính đặt quyền truy cập đăng nhập đúng cho người dùng phụ. Đây là mô hình người dùng của tôiGhi đè lên bộ điều khiển phiên làm việc
class User < ActiveRecord::Base
has_many :child_users, :class_name => "User",:foreign_key => "parent_id", :dependent => :destroy
belongs_to :parent, :class_name => "User"
end
Dưới đây là bộ điều khiển phiên tôi
class SessionsController < Devise::SessionsController
def create
logger.info "Attempt to sign in by #{ params[:user][:email] }"
@user = User.find_by_email(params[:user][:email])
if @user != nil
if [email protected]_portal_access?
flash[:notice] = "#{ @user.email } do not have portal access."
redirect_to :controller => 'welcome'
else
super
end
end
end
def destroy
logger.info "#{ current_user.email } signed out"
super
end
end
Với mã hiện khi tôi đăng nhập với đúng chứng chỉ - nếu nó là người dùng chính. đăng nhập thành công. - nếu đó là người dùng phụ có quyền truy cập cổng thông tin. đăng nhập người dùng phụ thành công. - nếu đó là người dùng phụ không truy cập cổng thông tin. người dùng được chuyển hướng đến trang chào mừng nói "không có quyền truy cập cổng thông tin" và yêu cầu người dùng đăng nhập.
Issue Tôi gặp là: Nếu tôi cố gắng đăng nhập với các thông tin đó không tồn tại trong cơ sở dữ liệu, sau đó tôi nhận được lỗi nói rằng "
Template is missing
Missing template users/sessions/create, sessions/create, devise/sessions/create, devise/create, application/create with {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :arb, :coffee]}. Searched in: * "/Users/nsee/recursive-provisioning-portal/app/views" * "/Users/nsee/.rvm/gems/ruby-1.9.3-p392/gems/twitter-bootstrap-rails-2.2.6/app/views" * "/Users/nsee/.rvm/gems/ruby-1.9.3-p392/gems/activeadmin-0.5.1/app/views" * "/Users/nsee/.rvm/gems/ruby-1.9.3-p392/gems/kaminari-0.14.1/app/views" * "/Users/nsee/.rvm/gems/ruby-1.9.3-p392/gems/devise-2.2.4/app/views"
Bạn đã chuyển Sessions bạn xem thư mục ra khỏi devise vào thư mục xem có đúng không? Ngoài ra, nó có thể giúp đỡ nếu chúng ta có thể nhìn thấy các tuyến đường của bạn. Bạn đã xem cái này chưa? [bắt đầu/cấu hình bộ điều khiển] (http://devise.plataformatec.com.br/#getting-started/configuring-controllers) – Stephen