2014-06-30 88 views
1

我正在構建一個rails應用程序(我使用rails 4)並使用Devise進行身份驗證,問題是我能夠註冊並註冊後用戶自動登錄,但如果我註銷,我無法再登錄,這裏是我的模型控制器和路由代碼。Rails 4設計用戶能夠註冊但不能登錄,

控制器:

class ApplicationController < ActionController::Base 
    before_filter :configure_permitted_parameters, if: :devise_controller? 
    protected 

    def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation, :remember_me) } 
    devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :password) } 
    end 
end 

型號:

class User < ActiveRecord::Base 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable 

    def user_params 
    params.require(:user).permit(:email, :password, :password_confirmation, :remember_me, :username) 
    end 
end 

路線:

Rails.application.routes.draw do 
    devise_for :users, path_names: {sign_in: "login", sign_out: "logout"} 

    resources :rezultates 

    resources :notificaris do 
    member do 
     get :trimite 
     get :trimiteneplata 
     get :tz 
    end 
    end 

    resources :programaris 

    resources :pacients do 
    collection { post :import } 
    resources :programaris 
    resources :rezultates 
    member do 
     get :trimite 
    end 
    end 

    root to: 'pacients#index' 
end 

日誌從當我tryng在

Started GET "https://stackoverflow.com/users/login" for 81.180.92.184 at 2014-06-30 09:41:33 +0300 
    Processing by Devise::SessionsController#new as HTML 
    Rendered devise/shared/_links.erb (0.8ms) 
    Rendered devise/sessions/new.html.erb within layouts/application (16.8ms) 
    Completed 200 OK in 63ms (Views: 60.3ms | ActiveRecord: 0.0ms) 


    Started POST "https://stackoverflow.com/users/login" for 81.180.92.184 at 2014-06-30 09:41:42 +0300 
    Processing by Devise::SessionsController#create as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"y47xQa7rSBkLS1Yp1PjqKTX1tRmzQ/VN+U6GJenETR8=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]"}, "commit"=>"Autentificare"} 
    Completed 401 Unauthorized in 2ms 
    Processing by Devise::SessionsController#new as HTML 
    Parameters: {"utf8"=>"✓", "authenticity_token"=>"y47xQa7rSBkLS1Yp1PjqKTX1tRmzQ/VN+U6GJenETR8=", "user"=>{"email"=>"[email protected]", "password"=>"[FILTERED]"}, "commit"=>"Autentificare"} 
    Unpermitted parameters: email 
    Rendered devise/shared/_links.erb (0.8ms) 
    Rendered devise/sessions/new.html.erb within layouts/application (15.0ms) 
    Completed 200 OK in 235ms (Views: 66.5ms | ActiveRecord: 0.0ms) 
簽署服務器0
+0

可以當你嘗試登錄您發佈的日誌? – Mandeep

+0

這是從服務器登錄我登錄 – user3477834

+0

的日誌是您的更新代碼?因爲你還沒有允許它 – Mandeep

回答

1

如果你看看devise github repo。它說

To permit simple scalar values for username and email, use this

def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :email) } 
end 
+0

它的作品!!!!!!非常感謝你 – user3477834