Я использую devise для аутентификации своих клиентов, однако, когда я нажимаю кнопку регистрации в моем представлении, это выдает мне, что я уже вошел в систему, как так?У меня даже нет пользователей в моей базе данных.
rout.rb
Rails.application.routes.draw do
devise_for :clients, controllers: { registrations: 'clients/registrations', sessions: 'clients/sessions' }
root to: "mainpages#index"
get '/mainpages', controller: 'mainpages', action: 'index'
get '/planes', controller: 'planes', action: 'planes'
resources :planes
Мои контроллеры находятся внутри контроллеров / клиентов, На данный момент я хочуактивировать все связанные с регистрацией и сессиями, вот мой регистрационный контроллер
registrations_controller
class Clients::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
@client = Client.new
end
# POST /resource
def create
super
@client = Client.new(client_params)
#Set user perms to provider or to client
if @client.perms == false
@client.perms = "Client"
else
@client.perms = "Provider"
end
@client.status = "Not activated"
if @client.save
return redirect_to :root
end
render 'new'
end
protected
def configure_sign_up_params
devise_parameter_sanitizer.permit(:sign_up, keys: [:attribute])
end
# The path used after sign up.
def after_sign_up_path_for(resource)
super(resource)
end
private
def client_params
params.require(:client).permit(:name, :last_name, :email, :country, :username, :city, :address, :date, :perms, :status)
end
end
session_controller
# frozen_string_literal: true
class Clients::SessionsController < Devise::SessionsController
# before_action :configure_sign_in_params, only: [:create]
# GET /resource/sign_in
def new
super
end
# POST /resource/sign_in
def create
super
end
# DELETE /resource/sign_out
def destroy
super
end
protected
# If you have extra params to permit, append them to the sanitizer.
def configure_sign_in_params
devise_parameter_sanitizer.permit(:sign_in, keys: [:attribute])
end
end
index.html.erb views / mainpages /
<div class="col-sm-6"><h4>Not a member?</h4>
<%= link_to '<p>You can create an account:</p>'.html_safe, controller: "clients/registrations", action:"new" %>
<p class="text-center">
<%= link_to '<i class="fas fa-sign-in-alt big-icon"></i>'.html_safe, controller: "clients/registrations", action:"new" %>
</p>
</div>
Я попытался вручную выйти из системы, набрав localhost: 3000 / clients / sign_out, но я получил ошибку маршрутизации, моя ссылкана страницу регистрации не сработает, если я не избавлюсь от этого сеанса, попытался перезагрузить сервер, но все равно получаю ту же ошибку.