Trying to have pretty localized root url

I have a language scope in my routes, all urls looking good
www.lvh.me/en/[*path....]

with the exception of the root_url displayed as :
http://www.lvh.me/?locale=en

I am trying for a couple of hours to get a root url being :
http://www.lvh.me/en/ as I get with the initial constraint when no
subdomain given, but no way , everytime I use redirect_to root_url , I
get
this http://www.lvh.me/?locale=en

the default_url_options seems not to be used , as I try to have a debug
line in it … no way

def default_url_options(options={})
if request.fullpath == “/”
{}
else
{ :locale => I18n.locale }
end
end


scope “/:locale” do
… …
end
constraints(:subdomain => nil, :host => host) do
root :to =>
redirect(“http://www.#{host}#{port}/#{I18n.locale.to_s}/”)
match ‘/*path’, :to => redirect {|params|
http://www.#{host}#{port}/#{I18n.locale.to_s}/#{params[:path]}”}
end

root :to => “cms_content#render_html”

[SOLVED] as I am using Sofa CMS for rendering, I have to replace
redirect_to root_url with a redirection to the home page of the CMS…

redirect_to “/#{I18n.locale}#{@cms_site.pages.root.full_path}”

Le vendredi 16 novembre 2012 16:14:25 UTC+1, Erwin a crit :

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs