Переадресация для отображения профиля пользователя, а не домашней страницы по умолчанию при нажатии "домой"

Этот вопрос связан с примером веб-приложения, созданного с помощью учебника Майкла Хартла по 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
Другие вопросы по тегам