Переадресация для отображения профиля пользователя, а не домашней страницы по умолчанию при нажатии "домой"
Этот вопрос связан с примером веб-приложения, созданного с помощью учебника Майкла Хартла по Rails, хотя это не одно из упражнений, предложенных автором.
На многих социальных сайтах при нажатии кнопки "домой" (например, на логотипах сайта) пользователи перенаправляются на свой профиль, а не на домашнюю страницу по умолчанию. Мне было интересно, как я смогу добиться этого также в учебном приложении.
В учебном приложении "домашний" вид считается "статичным" и отображается static_page_controller
это просто показывает:
def home
end
Когда я попытался добавить следующее к нему:
def home
if signed_in?
redirect_to @user
end
end
Я получаю ошибку "не могу перенаправить на ноль". я думал @user
был распространен на все контроллеры (так как signed_in
был... в user_controller
: @user = User.find(params[:id])
). Как изменить контроллер так, чтобы при обнаружении входа пользователя отображался профиль, а не домашняя страница?
Спасибо за вашу помощь!
1 ответ
Это signed_in?
метод не использовать current_user
вместо @user
?
Если это так, вы можете просто изменить строку
redirect_to @user
в
redirect_to current_user