Ich habe Probleme herauszufinden, wie man automatisch ein Benutzerprofilobjekt erstellt, sobald sich ein Benutzer mit devise angemeldet hat. Mein Profilobjekt wurde gerüstet, jetzt ist es ein Fall, das leere Objekt Profile.new zum Benutzerobjekt hinzuzufügen. Der folgende Code ist aus registrations_controller.rb
Profilobjekt automatisch hinzufügen, nachdem Devise/Rails erfolgreich registriert wurde
protected
# If you have extra params to permit, append them to the sanitizer.
def configure_sign_up_params
devise_parameter_sanitizer.for(:sign_up) << :profile_id
end
# The path used after sign up.
def after_sign_up_path_for(resource)
p "$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"
resource.profile << Profile.new
p resource
super(resource)
end
Was passiert, ist, dass in der Rails-Konsole, die p ‚$$$$ ..‘ Linie sichtbar ist und keine Fehler vorhanden sind. In psql, wenn Sie die profile_id betrachten, ist jedoch null. Ich kratze mich seit Stunden am Kopf, ist das der beste Weg dies zu tun, indem ich es in Devices Santisierer gebe?
Wir haben uns gedacht, stattdessen auf die create_profile-Ansicht umzuleiten, die gerüstet wurde, aber in dem Fall, in dem ein Benutzer sich anmeldet und dann das Profil nicht vervollständigt, hätten wir ein Problem. Hat jemand Tipps, wie Sie vorgehen sollen oder wie Sie das neue Profil-Objekt übergeben können?