1

L'une de nos exigences était que tout notre URL clôturé par .html Nous avons remplacé la méthode default_url_options ajouter le format des optionsRails default_url_options pour ActionController au format automatique pour tous les urls/chemins avec .html

def default_url_options(options={}) 
    options.merge(:format => 'html') 
end 

Cela fonctionne très bien dans la plupart ... mais il fait problème avec les routes suivantes:

map.home '/', :controller => 'home' 
map.root :controller => 'home' 

il provoque ces itinéraires pour revenir:

domain.com/?format=html 

Je dois trouver un moyen de faire une exception à ces routes, est-ce possible ou quelqu'un sait-il une façon plus intelligente de le faire.

Répondre

1

Eh bien ce faire fonctionner avec haml ... (erb non testé)

map.home '/', :controller => 'home', :format => 'html' 
0

Cela a semblé fonctionner pour moi dans un test rapide.

map.home '/', :controller => 'home', :format => '' 
+0

La mise en œuvre sur les rails ce 2.3.2 me donne .... Traitement ApplicationController index # à (pour 127,0 .0.1 at 2009-08-17 09:50:45) [GET] Paramètres: {"format" => "", "action" => "index", "controller" => "home"} ArgumentError (chaîne vide intériorisée): /opt/local/lib/ruby/gems/1.8/gems/haml-edge-2.1.12/lib/haml/helpers/action_view_mods.rb:14:in 'render ' – Rob

+0

ouais, je n'ai pas essayé avec haml - désolé. –

+0

pas de soucis, ça doit être quelque chose à voir avec la façon dont haml crochets dans le rendu – Rob

Questions connexes