Да, вы можете! Это случай именованного маршрута! Все, что вам нужно сделать, это добавить в ваш route.rb эту ссылку:
map.asked 'profiles/:id/asked', :controller => 'profiles', :action => 'asked'
Этот маршрут можно вызвать с помощью ask_path (: id => @profile)
Просто измените вашу ссылку в представлениях:
link_to "Profile", asked_path(:id => @profile)
Я не заслуживаю возражения за это, поскольку я просто вытащил его из самого файла rout.rb. Если вы внимательно посмотрели на автоматически сгенерированные маршруты, то увидите следующее:
# Sample of named route:
# map.purchase 'products/:id/purchase', :controller => 'catalog', :action => 'purchase'
# This route can be invoked with purchase_url(:id => product.id)
Если вы хотите сделать его более универсальным, я не пробовал его ... но, тем не менее, он должен работать:
map.routeany ":controller/:id/:action"
и в представлении:
link_to "Route to something...", routeany_path(:controller => "somecontroller", :action => "someaction", :id => @somecontroller)
В любом случае, ура! :)