Где находится параметр id
с URL /dashboard
?Или речь идет о «текущем» пользователе?
Если эти страницы о разных пользователях, один из параметра, другой из сеанса.Тогда вам действительно нужны разные контроллеры для этих двух URL.
Вот как я бы это сделал:
rout.rb
match "dashboard" => 'users#show', :defaults => { :id => -1 }
UsersController.rb
def show
@user = User.find(params[:id] == -1 ? current_user_id : params[:id])
...
Я позволю вам сделать реализацию current_user_id
: -)