Я использую Devise для аутентификации ученика, и у меня есть другие действия, называемые show_profile
и edit_profile
, чтобы ученик мог видеть и редактировать свой профиль.
Проблема в том, что контроллер, который я перезаписал, записывает контроллеры Devise, поэтому вход / выход перестает работать. Как я могу сделать свой контроллер расширением для контроллеров Devise?
Если я поставлю эти два:
class Students::RegistrationsController < Devise::RegistrationsController
class StudentsController < ApplicationController
и прокомментируйте это при входе в систему class StudentsController < ApplicationController
и это class Students::RegistrationsController < Devise::RegistrationsController
после входа в систему.
class Students::RegistrationsController < Devise::RegistrationsController
#class StudentsController < ApplicationController
private
def secure_params
params.require(:student).permit(:name, :father_name, :grand_father_name)
end
public
before_action :authenticate_student!
def show_profile
@student = current_student
end
def edit_profile
@student = current_student
end
def update_profile
@student = current_student
if @student.update_attributes(secure_params)
redirect_to(:action => 'show_profile',:id => @student.id )
flash[:notice] = "student edited successfully"
else
render('edit_profile')
end
end
end