94 votes

Dans Ruby on Rails Routing, j'aimerais utiliser Dash `-` au lieu de Underscore` _`

Je voudrais que toutes les Url de mes applications web à utiliser dash - au lieu de souligner _ pour les séparateurs de mots. Je suis surpris par un couple de choses vraiment:

  1. Google et coll. continuer à les distinguer.
  2. Que RoR n'est pas un simple paramètre de configuration de la carte - de _ dans le routage. Ou est-il?

J'ai trouvé quelques questions ici et d'ailleurs, mais la meilleure solution que j'ai vu est à utiliser :as ou une route nommée. C'est assez ennuyeux. Donc, je pense que de modifier les Rails de routage pour vérifier que global configuration et de changement - de _ avant l'envoi à l'action d'un contrôleur. Mais avant de faire ça, je suis en espérant que quelqu'un pourra me sauver de l'ennui!

Merci d'avance pour toute aide, ou même la confirmation que mon approche a du sens. J'aimerais soumettre dos. BTW, je suis actuellement sur la version 2.3.8, mais l'espoir de migrer vers 3 bientôt.

86voto

sandstrom Points 2420

Avec Rails 3 ou une version ultérieure, vous pouvez procéder comme suit:

 resources :user_bundles, :path => '/user-bundles'
 

2voto

Kan Points 38

Vous pouvez utiliser les routes nommées. Il permettra, à l'aide de " - " comme mot séparateurs. Dans les itinéraires.rb,

map.name_of_route 'a-b-c', :controller => 'my_controller', :action => "my_action"

Aujourd'hui, les url comme http://my_application/a-b-c serait aller à l'spécifiée contrôleur et l'action.

Aussi, pour créer des url dynamiques

map.name_of_route 'id1-:id2-:id3', :controller => 'my_controller', :action => "my_action"

dans ce cas, 'id1, id2 & id2 serait passée comme http params à l'action

En vous les actions et les points de vue, name_of_route_url(:id1=>val1, :id2=>val2, :id3=>val3) d'évaluer l'url 'http://my_application/val1-val2-val3'

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X