2013-10-18 14 views
5

Ich habe eine App auf Schienen 4 aktualisiert und alles funktioniert gut. Ich kann mich anmelden und meine Bearbeitungsseite aufrufen. Auch die Ansichten aktualisiert. Bei Verwendung der Standardansicht wird der Benutzer aktualisiert. Aber wenn ich zum Beispiel das Feld: name hinzufüge, wird dies nicht im Formular aktualisiert.Devise mit Schienen 4 nicht aktualisieren Benutzer

Verwendung 3.1.1 entwickeln und auch der Edelstein ‚protected_attributes‘

Muß ich eine Art von Update-Befehl auf devise oder db laufen?

Ich habe auch diesen Ort gesucht, viele verschiedene Lösung zu finden, aber niemand aktualisiert mein Benutzerfeld. Ich habe keine benutzerdefinierten Felder hinzugefügt.

+0

Haben Sie versucht, den Parameter mit der Methode rails 4 strong parameters hinzuzufügen, um zu sehen, ob das passiert? – trh

+0

Das Einrichten von starken Parametern im Anwendungscontroller funktionierte. Das letzte Mal, als ich es versuchte, tat es nicht, aber nachdem ich das protected_attributes Juwel entfernt und den Server neu gestartet hatte, funktionierte es :) – w25x

Antwort

8

Wenn Sie zusätzliche Parameter erlauben möchten, können Sie einen before filter verwenden in Ihrem ApplicationController weil Rails 4 bewegt, um den Parameter Hygienisierung von dem Modell zur Steuerung.

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

    protected 

    def configure_permitted_parameters 
    devise_parameter_sanitizer.for(:sign_up) << :name << :surname << :username 
    devise_parameter_sanitizer.for(:account_update) << :name << :surname << :username 
    end 
end 

Sie können auch mehr here finden.

+0

Gibt es einen Unterschied zwischen dem und 'devise_parameter_sanitizer.for (: sign_up) {| u | u.permit (: Benutzername,: Email,: Passwort,: Passwort_bestätigung)} ' – Un3qual

Verwandte Themen