2013-10-10 5 views
0

내가이 오류를 얻을 로그 아웃 버튼을 클릭하면 : 검사 결과는 ASCII 전용으로 또는 외부 기본루비 2.0 + 4 +는 3.1.1 로그 아웃 문제를 고안 레일

class ApplicationController < ActionController::Base 
    # Prevent CSRF attacks by raising an exception. 
    # For APIs, you may want to use :null_session instead. 

    before_action :authenticate_user! 
    before_action :configure_permitted_parameters, if: :devise_controller? 

    protect_from_forgery with: :exception 

    protected 

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

end 

링크와 동일한 인코딩을 사용해야합니다 :

<%= link_to "Logout", logout_path, title: "Logout", method: :delete %> 

경로는 :

devise_scope :user do 
    get 'register', to: 'devise/registrations#new', as: 'register' 
    get 'login', to: 'devise/sessions#new', as: 'login' 
    delete 'logout', to: 'devise/sessions#destroy', as: 'logout' 
end 

나는 문제가 아무 생각이 없습니다.

나는 다음이 3 줄을 제거 작동하지만 난 새로운 사용자를 등록 할 수없는 경우 :

devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :email) } 
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :email, :password, :password_confirmation) } 
devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:username, :email, :password, :password_confirmation, :current_password) } 

가 감사를!

+0

문자열의 콘텐츠 인코딩에 문제가있는 것 같습니다. ASCII 및 기타 인코딩을 혼합 한 것처럼 보입니다. – phoet

+0

모든 내 문서는 UTF-8로 저장됩니다. – user2822754

+0

문제를 해결할 수 있었습니까? 동일한 오류가 발생하며 아래 답변 중 하나도 도움이되지 않습니다. – midu

답변

0

사용하여보십시오

devise_parameter_sanitizer.for(:sign_up) << :username 

에 따라 그리고 당신은 또 다른 필드를 필요로하는 경우,

0

임 위와 같은 줄을 추가 이것이 원인이 있지만, 난 당신이하지 않는 것으로 나타났습니다 있는지 확실하지 않습니다 로그인시 허용 된 비밀번호를 허용하십시오. 회원 가입 및 계정 업데이트에 비밀번호가 필요하므로이를 원할 것입니다. 이 형식은 다음과 같아야합니다.

devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:username, :email, :password) }