Ответ 1
Я бы написал пользовательский фильтр перед использованием user_signed_in?
. Это будет просто возвращать логическое значение, а не выполнять какие-либо действия типа перенаправления, которые выполняет authenticate_user!
.
Итак, вы можете написать фильтр перед следующим:
before_filter :custom_user_auth
...
def custom_user_auth
unless user_signed_in?
# Do custom stuff, ultimately restricting access to the
# ...protected resource if it needs to be
end
end
Обратите внимание, что это перед фильтром не защитит ваш ресурс от неавторизованных пользователей, если внутренняя область этого оператора unless
не перенаправляется или отображается.