Ich habe Spalteninformationen zum Modell Benutzer hinzugefügt, die von Devise generiert wurden. Ich will Benutzer nicht dazu bringen, Feldinformationen durch Registrierung zu füllen. Ich erstellte Controller für andere Seiten wie ProfilWie kann ich mit Params korrekte Informationen erhalten?
Auf Seite Benutzerinfo Benutzer sollte in der Lage sein, seine Informationen zu bearbeiten.
Hier ist Ansicht:
<div id="page_wrapper">
<h2>Hey, <%= @currentUser.username %>, add some information about you: </h2>
<%= form_for @currentUser.information do |f| %>
<p>
<%= f.label :information %><br />
<%= f.text_area :information, autofocus: true %>
<p>
<p>
<%= f.submit "Save" %>
<p>
<% end %>
</div>
Application Controller:
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) { |u| u.permit(:username, :information, :email, :password, :password_confirmation, :remember_me) }
devise_parameter_sanitizer.for(:sign_in) { |u| u.permit(:login, :information, :email, :password, :remember_me) }
devise_parameter_sanitizer.for(:account_update) { |u| u.permit(:username, :information, :email, :password, :password_confirmation, :current_password) }
end
end
Wenn ich versuche, es zu speichern, erhalte ich
nicht definierte Methode `Genehmigung‘ für nil: NilClass
Wie kann ich es beheben? Vielleicht gibt es einen besseren Weg, diesen Job zu machen? Ich möchte nicht das ganze Formular anzeigen, um das Passwort, den Benutzernamen usw. zu ändern. Nur Informationen.
ändern Danke, aber jetzt bekomme ich einen anderen Fehler. Parameter fehlt oder der Wert ist leer: Benutzer Warum passiert es? – malworm
@bg_mi Können Sie die Ausgabe von Parametern posten, die generiert werden? – Pavan
ist das http://snag.gy/7b7ys.jpg das was du meinst? – malworm