2010-02-16 6 views

Répondre

3

Il pourrait aider à comprendre ce que les routes nommées font.

La définition d'une route nommée crée une enveloppe autour de l'URL pour fournir les options requises pour l'itinéraire créé. Les ressources de routage créent de nombreuses routes nommées. Dans cet esprit, le coût d'appel d'un itinéraire nommé par opposition à url_for avec les options nécessaires est négligeable. Donc, si vous créez un lien vers une ressource spécifique, les routes nommées sont la voie à suivre. Ils sont plus faciles à lire, à taper et à maintenir.

Cependant, ne pas actualiser url_for. Il a de nombreuses utilisations créatives grâce à la façon dont il gère les options manquantes. C'est très utile quand il s'agit de garder des vues DRY qui sont utilisées à partir de plusieurs sources imbriquées. C'est à dire: quand un contrôleur blog_posts et posts_controller partagent les mêmes vues.

Je vous encourage fortement à lire le url_for documentation. Pour aider à comprendre où ces endroits il est logique d'utiliser url_for sont.

0

Je préférerais les routes nommées car elles sont plus courtes et font la même chose.

0

La route nommée est très soignée.

map.with_options :controller => "company", :action => "show", :panel => "name" do |m| 
    m.company '/company/:action/:id/:panel' 
end 

Ensuite, vous pouvez appeler

company_url :id => 1 
0

Si vous configurez vos routes et ressources avec soin, vous ne devriez pas avoir besoin de routes de hachage, seulement celles qui sont nommées (soit intégrées via map.resource ou personnalisées map.<something>). Les itinéraires de hachage sont utiles si vous devez créer des liens basés sur du contenu dynamique. Quelque chose comme:

link_to @post.title, :controller => (@user.is_admin ? 'admin/posts' : 'public/posts'), :action => 'show', :id => @post 

(Ceci est juste un exemple forcé, mais vous devriez obtenir l'essentiel de celui-ci :)

Questions connexes