Rails разрабатывает авторизацию на нескольких моделях

У меня стандартная реализация, и во всех других моделях, похоже, нет перенаправления, если сеанс истек, оставив пользователю сообщение об ошибке.

Например, на странице профиля пользователя, если он не вошел в систему, будет просто отображаться ошибка, потому что current_user не существует.

Я устанавливаю в каждой модели, чтобы разрешить. Или лучшее решение, могу ли я установить его в контроллере приложений и сделать это приложение широким и просто установить любые общедоступные страницы, где это необходимо?

0
nl ja de

2 ответы

Используйте фильтр before, например before_filter: authenticate_user! . Поместите это в свой контроллер приложений. authenticate_user! - это вспомогательный помощник, поэтому, если вы хотите настраивать поведение, вы можете перегрузить этот метод или просто написать свой собственный фильтр с помощью вспомогательного метода user_signed_in? .

0
добавлено

Если вы хотите, чтобы какой-либо конкретный контроллер проверял, зарегистрирован ли пользователь, вы хотите использовать аутентификацию пользователя Devise! функция. См. Пример ниже

class StuffController < ApplicationController
  before_filter :authenticate_user!
  def index
    ..... more implementation
  end
end

Если пользователь не войдет в систему, они будут перенаправлены на форму входа в систему, а затем на требуемую страницу после успешного входа в систему

0
добавлено
pro.ruby
pro.ruby
1 181 участник(ов)

Язык программирования Ruby Additional docs: https://rubyreferences.github.io/rubyref/ Invite: https://telegram.me/joinchat/Be4rsT2NuB3CyJaF26j1kA Кто хочет компилировать: @crystal_ru (его синтаксис основан на Ruby) Участник @proDOT

Ruby, Rails, Hanami | dry-rb
Ruby, Rails, Hanami | dry-rb
1 180 участник(ов)

https://telegram.me/rubyjob - Ruby Job По вопросам - @eugene_shved

Ruby School .us
Ruby School .us
1 045 участник(ов)

Чат-болталка для учеников руби-школы и не только. Правила: https://telegra.ph/Pravila-chata-Rubi-shkoly-03-13

Random Ruby Chat
Random Ruby Chat
589 участник(ов)

Правила публикации вакансий: https://t.me/codenamecrud/60865

Rubyata
Rubyata
333 участник(ов)

Коммюнити Ruby и Ruby On Rails Флуд не приветствуются. Вакансии можно публиковать только и ТОЛЬКО по пятницам с хештегом #вакансия.

Ruby Talks
Ruby Talks
236 участник(ов)

Национальная Флеймотека

RubyRush
RubyRush
189 участник(ов)

rubyrush.ru программирование для самых новичков

Rails Chat
Rails Chat
87 участник(ов)

You are welcome to discuss Ruby On Rails development process and other stuff