Miałem to samo pytanie i napisałem a small post about this in my blog
Powodem podsumowano tutaj (Znalazłem to na forum):
* _path są dla widoków bo ahrefs są pośrednio powiązane z obecny adres URL. Więc byłoby to stratą bajtów, aby powtarzać to w kółko. Jednak w kontrolerze * _url jest potrzebne do przekierowania, ponieważ specyfikacja HTTP nakazuje, aby nagłówek Location: w przekierowaniach 3xx był kompletnym adresem URL.
Here is another explanation który mówi, że to zależy od tego, czy musimy użyć bezwzględnego URI podczas łączenia się z witryną SSL z witryny non-SSL, i vice versa.
Co przeczytałem do tej pory, nie sugeruje, że którykolwiek z nich jest bezpieczniejszy niż inne. To naprawdę sprowadza się do tego, co jest "właściwe".
Wielkie dzięki. Znalazłem to przydatne. Tak więc w kontrolerach używamy "_url", podczas gdy w widokach możemy użyć "_path", chociaż "_url" może być tam również użyty. – MohamedSanaulla
Nie musisz używać * _url dla kontrolerów, ścieżka będzie działać równie dobrze. Powinieneś używać '_url' podczas wyświetlania trasy do źródeł zewnętrznych. –
Aby wyjaśnić trochę więcej: wyjście '_path' będzie działało równie dobrze dla nagłówka' Location' w przekierowaniu. Przeglądarka zinterpretuje to jako przekierowanie relatywne do root. –