2017-03-01 15 views
1

私は別の時間にDeviseをセットアップしました。しかし何らかの理由で、今度はサインインできません。私はhttp://prelang.com/で私のアプリを設定しました。ログインしないでください

これは私のルートである:

devise_for :users, controllers: {registrations: "users/registrations", sessions: "users/sessions", passwords: "users/passwords"} 
    devise_for :admin_users, ActiveAdmin::Devise.config 
    ActiveAdmin.routes(self) 

#->Prelang (user_login:devise/stylized_paths) 
    devise_scope :user do 
    get "login" => "users/sessions#new",   as: :new_user_session 
    post "login" => "users/sessions#create",  as: :user_session 
    delete "signout" => "users/sessions#destroy",  as: :destroy_user_session 

    get "signup" => "users/registrations#new", as: :new_user_registration 
    post "signup" => "users/registrations#create", as: :user_registration 
    put "signup" => "users/registrations#update", as: :update_user_registration 
    get "account" => "users/registrations#edit", as: :edit_user_registration 
    end 

そして、私のサインインビューsessions/new.html.slim

= simple_form_for(resource, as: resource_name, url: session_path(resource_name), html: {id: "loginForm"}) do |f| 
    .form-group 
    = f.input :email, as: :string, label: "Correo electrónico", placeholder: "[email protected]", required: true, autofocus: true, class: "form-control", id: "username" 
    .form-group 
    = f.input :password, label: "Contraseña", placeholder: "*******", required: false, autofocus: true, class: "form-control", id: "password" 

    = f.submit "Iniciar sesión", class: "btn btn-success btn-block" 
    = link_to "Registrarte", new_user_registration_path, class: "btn btn-default btn-block" 

私がサインインしようとしているユーザーがサインアップすることで作成されています。これは、ユーザーのオブジェクトが次のように表示されます。

#<User id: 3, email: "[email protected]", 
created_at: "2017-03-01 11:21:47", 
updated_at: "2017-03-01 11:21:47", 
username: nil> 

フラッシュアラートはInvalid Login or password.です。

{"utf8"=>"✓", 
"authenticity_token"=>"9jQjU5BuFDJJRdJuPZVvHHzz3R3t16H+Jh46O4w3KPU=", 
"user"=>{"email"=>"[email protected]", "password"=>"holahola"}, 
"commit"=>"Iniciar sesión", 
"action"=>"create", 
"controller"=>"users/sessions"} 

は、どのように私はそれを動作させることができます:私はSessionsControllernewアクション)に渡されてのparamsに見てみるならば、これは、それがどのように見えるかですか? ありがとうございます。

+0

あなたの 'params email'とユーザテーブル' record email'は異なって見えます – ashvin

+0

@ashvin指摘してくれてありがとう。情報が間違っていた。私はそれを正しいデータベースレコードで更新しました。 – borjagvo

+0

あなたのフォームは投稿リクエストとして送信されますか? getとして提出する簡単なフォームなので尋ねる。 –

答えて

0

Preflangが電子メールまたはユーザー名の両方を使用してログインすることが判明しました。ユーザー名を:emailとして識別するためにsessions/new.hmtl.slimという名前を付ける代わりに、私はそれを:loginと呼ぶ必要がありました。今それは動作します。

この方法はhereと記載されています。

関連する問題