@maxprof
Студент

Почему перестал работать выход с сайта Rails (devise)?

Здравствуйте, скажите пожалуйста как исправить ошибку. При выходе с сайта выкидывает сообщение - Couldn't find Doctor with 'id'=sign_out и указывает на строку
@doctor = Doctor.find(params[:id])
в контроллере
class DoctorsController < ApplicationController
	before_action :set_doctor, only: [:show, :edit, :update, :destroy]
	def index
		@doctor = Doctor.all
	end

	def show
		@length =  User.where(doctor_id: params[:id]).size
	end

	private 

	 def set_doctor
        @doctor = Doctor.find(params[:id])
    end
end

Раньше с сайта выходил, но теперь такая возможность пропала. Использую гем Devise

UPDATE
routes.rb
Rails.application.routes.draw do
  get 'contact/index'

  resources :news
  resources :prices
  get 'healthy/index'
  get 'about/index'

  resources :users
  resources :doctors

  devise_for :doctors, :controllers => { registrations: 'registrations' }
  root 'users#main'
end


Ссылка на выход из сессии

<%= link_to 'Вийти', destroy_doctor_session_path %>

Update
Проблему решил переносом строчки devise_for :doctors, :controllers => { registrations: 'registrations' } вверх файла маршрутов
  • Вопрос задан
  • 211 просмотров
Пригласить эксперта
Ответы на вопрос 2
nbekseitov
@nbekseitov
Ruby developer
Комментировать
@ID25
method: :destroy добавь к ссылке.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы