Ich mache eine einfache Benutzer mit Profil Anwendung. Der Benutzer registriert sich und wird automatisch eingeloggt. Funktioniert so weit gut. Jetzt würde ich gerne nach einer erfolgreichen Registrierung ein Profil erstellen und den Benutzer zu seinem Profil weiterleiten.
Ich habe ein Benutzermodell und einen Controller. Devise hat auch die Registrierungs-Controller. Ich habe das Gem installiert. Ich kopierte die Devise Dateien kopiert und ich plane, die create-Aktion zu überschreiben.
Erstens, was auch immer ich in registrations_controller.rb bearbeite, nichts ändert sich.
class Devise::RegistrationsController < ApplicationController
prepend_before_filter :require_no_authentication, :only =>
[ :new, :create, :cancel ]
prepend_before_filter :authenticate_scope!, :only =>
[:edit, :update, :destroy]
include Devise::Controllers::InternalHelpers
Zweitens: Wie kann der Schritt der Profilerstellung eingefügt werden?
def create
build_resource
if resource.save
if resource.active?
set_flash_message :notice, :signed_up
sign_in_and_redirect(resource_name, resource)
else
set_flash_message :notice, :inactive_signed_up, :reason =>
resource.inactive_message.to_s
expire_session_data_after_sign_in!
redirect_to after_inactive_sign_up_path_for(resource)
end
else
clean_up_passwords(resource)
render_with_scope :new
end
end
Ich dachte daran, Folgendes hinzuzufügen
current_user.create_profile under is resource.active?
Wie würdet ihr dieses Problem angehen?