1

Eine unserer Anforderungen war, dass alle die unsere url endete mit .html Wir haben die default_url_options Methode überschrieben haben, um das Format zu den OptionenRails default_url_options für Action zu Autoformat alle Urls/Pfade mit .html

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

Dies funktioniert gut in den meisten Fällen ... aber es verursacht Problem mit den folgenden Routen:

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

es diese Routen führt zurück:

domain.com/?format=html 

Ich muss einen Weg finden, um eine Ausnahme zu diesen Routen zu machen, ist dies möglich oder weiß jemand einen klüger Weg, dies zu tun.

Antwort

1

Gut, das es mit haml ... (erb ungetestet) funktioniert

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

Dies schien für mich in einem schnellen Test zu arbeiten.

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

Implementierung dieser auf Schienen 2.3.2 gibt mir .... Verarbeitung Application # Index (für 127,0 .0.1 am 2009-08-17 09:50:45) [GET] Parameter: {"format" => "", "aktion" => "index", "controller" => "home"} ArgumentError (Interner leerer String): /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

Ja, ich habe es nicht mit Haml versucht - sorry. –

+0

keine Sorge, es muss etwas damit zu tun haben, wie haml hooks in render – Rob