Zrobiłem before_filter
gdzie mogę sprawdzić, czy request.path == root_path
a jeśli tak przekierować do ścieżki, która powinna być korzeń konkretnego użytkownika. Ścieżka root_path w routes.rb
nie jest korzeniem użytkownika dla dowolnego użytkownika, więc nie ma nieskończonego przekierowania. Po prostu wykonaj flash.keep
, aby Twoje wiadomości flash przetrwały przekierowanie.
EDIT: Reading Q & A i komentarze, próbując zrozumieć, co już ma, i to, co trzeba jeszcze. Czy udało Ci się skonfigurować routing, aby uzyskać działanie show
renderowane bez adresu URL w postaci :id
? Jeśli tak, być może trzeba coś takiego w swoim działaniu kontroler show
:
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
pewnością jest bardziej seksownego sposób to zrobić w Rails 4+ niż to, co jest sugerowane. –