Пользователь Rails 4 devise может зарегистрироваться, но не входить в систему ,

#ruby-on-rails #ruby #devise

#ruby-on-rails #ruby #devise

Вопрос:

Я создаю приложение rails (я использую rails 4) и использую Devise для аутентификации, проблема в том, что я могу зарегистрироваться, и после регистрации пользователь автоматически входит в систему, но если я выхожу из системы, я больше не могу войти в систему, вот мои коды для контроллер модели и маршруты.

контроллер:

 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
  

журнал с сервера, когда я пытаюсь войти в систему

    Started GET "/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 "/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"=>"ionut@gmail.com", "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"=>"ionut@gmail.com", "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)
  

Комментарии:

1. можете ли вы публиковать свои журналы при попытке входа в систему?

2. это журнал с сервера при входе в систему

3. это ваш обновленный код? потому что вы все еще не разрешили это

Ответ №1:

Если вы посмотрите на репозиторий devise github. В нем говорится

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