2016-07-25 15 views
1

Derzeit versuche ich eine normale Devise sign_in Form arbeiten mit AJAX mit Bootstrap-Modal. Der sign_in-Teil funktioniert auf der Serverseite einwandfrei - der Benutzer wird angemeldet, aber das Problem ist, dass ich die Bearbeitung der Front-End-Anfrage nicht an Ort und Stelle halten kann, da JS nicht feuert.Rails 5 Devise Login über AJAX mit Bootstrap Modal

sessions_controller.rb #create

def create 
    resource = User.find_for_database_authentication(email: params[:user][:email]) 
    return invalid_login_attempt unless resource 

    if resource.valid_password?(params[:user][:password]) 
     sign_in :user, resource 
     return render :json => {:success => true} 
    end 

    invalid_login_attempt 
    end 

Dieses Teil funktioniert gut - Benutzer wird mit 200 "Erfolg" Antwort auf den Antrag unterzeichnet.

Anmelden Form (Standard eine für devise)

<%= form_for(resource, url: session_path(:user), remote: true) do |f| %> 
    <%= f.email_field :email, autofocus: true, placeholder: 'Email', class: "form-control center-block" %> 

    <%= f.password_field :password, placeholder: 'Password', autocomplete: "off", class: 'form-control center-block' %> 

    <%= f.submit 'log in', class: 'center-block btn btn-sp btn-lg'%> 
<% end %> 

Formular vorgerenderter ist mit versteckten Bootstrap modal, die natürlich sichtbar auf Klick erhalten.

Und die JS, die Zündung nicht

$(document).on('ajax:success', '#new_user', function(){ 
    console.log("in"); 
}); 

I ajaxSuccess versuchte, ältere .bind Syntax, JS auf App-Ebene setzen und direkt nach der Form erbracht, kann aber nicht scheinen zu bekommen, dass JS zu feuern und mir gehen die Ideen aus, so dass jede Hilfe geschätzt wird. Läuft auf Rails 5, Ruby 2.3.1, jquery-rails 4.1.1.

+0

Hallo, ich habe genau das gleiche Problem mit Schienen 5 und mein Controller ist ähnlich wie bei Ihnen. Hast du es geschafft, was war das Problem? Die meisten Tutroials auf Ajax Auth basierend auf Schienen 4, die ich vermute nicht in Schienen 5. zum Beispiel fehlgeschlagen Status: Verarbeitung von Benutzern :: SessionsController # als JS erstellen ---- Abgeschlossen 401 Nicht autorisierte in 8ms (Aufrufe: 0.2ms | ActiveRecord: 1.0ms) aber Ajax feuert überhaupt nicht für Erfolg und Misserfolg –

Antwort

Verwandte Themen