Problem: Ich verwende die after_sign_up_path_for(resource)
Methode von Devise, aber ich kann nicht scheinen, um den Benutzer auf die angegebene Seite umgeleitet, nachdem sie sich anmelden. Momentan erhalte ich einen Template Missing
Fehler mit der URL www.localhost:3000/users
. Im Idealfall würde Ich mag die Benutzer zu www.localhost:3000/subscribers/new
Devise nicht auf angegebene Seite nach Benutzeranmeldung
registrations_controller.rb
class RegistrationsController < Devise::RegistrationsController
def create
@user = User.new(sign_up_params)
@domain = @user.email.split('@').last
@company = Company.find_by_domain(@domain)
@user.company_id = @company.id
if @user.save
after_sign_up_path_for(@user)
else
render 'new'
end
end
private
def sign_up_params
params.require(:user).permit(:first_name, :last_name, :email, :password, :password_confirmation, :participation_code, :company_id)
end
protected
def after_sign_up_path_for(resource)
"/subscribers/new"
end
end
routes.rb
...
devise_for :users, controllers: { registrations: "registrations" }
...
Fehlerprotokoll weitergeleitet habe ich dir:
Template is Missing
Missing template registrations/create, devise/registrations/create,
devise/create, application/create with {:locale=>[:en], :formats=
[:html], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby,
:coffee, :arb, :haml, :jbuilder]}.
UPDATE: Ich habe versucht, die after_sign_up_path_for(resource)
auf die ApplicationController
zu verschieben, aber immer noch das gleiche Ergebnis.
Ich habe das schon versucht und habe das gleiche Ergebnis. Ich habe meinen Beitrag aktualisiert, um dies zu berücksichtigen. – szier
Sie haben einen fehlenden Template-Fehler, oder es wird nicht auf den Pfad umgeleitet? Kannst du deine Frage einfügen? –
Ich habe meinen Beitrag aktualisiert, um das Protokoll einzubeziehen – szier