Ich habe die folgenden RoutenSub-Domäne nicht mit Devise Routen arbeitet
constraints :subdomain => "brands" do
scope :module => "brands", :as => "brands" do
devise_for :members
# devise_for :users, controllers: {
# sessions: 'users/sessions'
# }
end
end
Wenn ich zu http://brands.lvh.me:3000/members/sign_up
gehe ich erhalte die folgenden Fehler
Action :: RoutingError an/Mitglieder/sign_up
nicht initialisierte Konstante Marken :: RegistrationsController Anwendung Frames Alle Frames
ActionDispatch::Routing::RouteSet::Dispatcher#controller actionpack (4.2.5.2) lib/action_dispatch/routing/route_set.rb, line 63
Registrierungskontroller - `app/controllers/Marken/Mitglieder/registrations_controller.rb
class Brands::Members::RegistrationsController < Devise::RegistrationsController
# before_action :configure_sign_up_params, only: [:create]
# before_action :configure_account_update_params, only: [:update]
# GET /resource/sign_up
# def new
# super
# end
# POST /resource
# def create
# super
# end
# GET /resource/edit
# def edit
# super
# end
# PUT /resource
# def update
# super
# end
# DELETE /resource
# def destroy
# super
# end
# GET /resource/cancel
# Forces the session data which is usually expired after sign
# in to be expired now. This is useful if the user wants to
# cancel oauth signing in/up in the middle of the process,
# removing all OAuth session data.
# def cancel
# super
# end
# protected
# If you have extra params to permit, append them to the sanitizer.
# def configure_sign_up_params
# devise_parameter_sanitizer.permit(:sign_up, keys: [:attribute])
# end
# If you have extra params to permit, append them to the sanitizer.
# def configure_account_update_params
# devise_parameter_sanitizer.permit(:account_update, keys: [:attribute])
# end
# The path used after sign up.
# def after_sign_up_path_for(resource)
# super(resource)
# end
# The path used after sign up for inactive accounts.
# def after_inactive_sign_up_path_for(resource)
# super(resource)
# end
end
Ich denke, wenn Sie scope: scope: modul => "marks" entfernen,: as => "brands" tun es wird gut funktionieren. –
@MuhammadYawarAli, aber meine Controller und Ansichten sind mit einem Namen versehen –
In einer mandantenfähigen App von mir, mit Subdomains und einem Bereich für Locales, sieht alles wie du aus. Der einzige Unterschied, den ich habe, sind die Controller, die ich überschreiben kann. Vielleicht können Sie die gleiche Überschreibung ausführen, aber mit einem leeren Controller, der vom Devise-Controller erbt. Und in den Routen geben Sie einfach als 'devise_for: Mitglieder, Controller: {: Sitzungen =>" Ihre_Scope/Sitzungen "}' –