Я сделал before_filter
, где я проверяю, если request.path == root_path
, и если так, я перенаправляю на путь, который должен быть корнем для конкретного пользователя.Корневой_путь, установленный в routes.rb
, не является корнем, специфичным для пользователя, для любого пользователя, поэтому нет бесконечного перенаправления.Просто сделайте flash.keep
, чтобы ваши флеш-сообщения пережили перенаправление.
РЕДАКТИРОВАТЬ: Чтение вопросов и ответов и комментариев, пытаясь понять, что у вас уже есть, и что вам все еще нужно.Удалось ли настроить маршрутизацию, чтобы действие show
отображалось без :id
в URL?Если это так, возможно, вам нужно что-то подобное в вашем контроллере show
action:
if params[:id].nil? # if there is no user id in params, show current one
@user = current_user
else # if there is the user id in params just use it,
# maybe get 'authorization failed'
@user = User.find params[:id]
end