2016-04-29 6 views
0

Meistens eine Frage der Neugier; Ich konnte keine Antwort vom großartigen Google finden, und das interessiert mich schon eine Weile.Warum platziert das Rails-Namespace-Routing den Aktionsnamen zuerst?

# routes.rb 
namespace :admin do 
    resources :users 
end 

# produces a rout helper such as: 
edit_admin_user_path 

Was die Logik hinter diesem Format ist statt:

admin_edit_user_path 

Es macht Sinn für mich zunächst den Namensraum zu stellen, denn das ist der Zweck eines Namespace ist ...

Or sogar sauberer, denke ich, wäre etwas wie:

admin_user_edit_path # id, <namespace>_<resource>_<action>_path 

Gehen von den am wenigsten spezifischen zu den meisten Spezifisch scheint mir logisch zu sein, aber ich vermute, dass die Leute, die das Rails-Framework geschrieben haben, schlauer sind als ich, also müssen sie einen Grund gehabt haben, es auf diese Weise zu tun.

Antwort

0

Ich glaube, die rationale ist die HTTP/Controller-Aktion zuerst. Wenn Sie also einen einzelnen Controller/eine einzige Route mit allen Crud-Operationen haben, können Sie schnell unterscheiden, welche nur durch Lesen des ersten Teils anstelle der Suche nach der Aktion

admin_user_path 
new_admin_user_path 
edit_admin_user_path 
+0

Dies ist jetzt sinnvoll dass ich darüber nachdenke. Erlaubt es, den CRUD beim Scannen der Routen zu sehen. –

Verwandte Themen