routing issue on match '/:locale'

I have set

match ‘/:locale’ => “welcome#home”, :as => :root

but it doesn’t cover the default case, when user enter the domain url wo locale, http://www.myapp.com

Is there any way to default it to the app default locale I18n.locale ??

thanks for feedback

Hallo Erwin…

When you work with

before_filter :set_locale

def set_locale # update sessions if passed session[:locale] = params[:locale] if params[:locale]

# set locale based on sessions or default
I18n.locale = session[:locale] || I18n.default_locale

end

just create

index.html.erb index.en.html.erb

ect…

Gruss

root :to => ‘welcome#index’

is enough

Thanks Werner, I’m quite there … I am working as you mentionned …

but I don’t understand why I still have the locale parameter in my root_url :

in the console :

root_url

http://lvh.me:3000/?locale=en

root_path

“/?locale=en”

I18n.locale

:en

I would like to have :

root_url

http://lvh.me:3000/en

root_path

“/en”

as root_url doesn’t pass thru url_for, I cannot play with it … where is it generated ?

erwin

[SOLVED] writing my previous post, make me thinking about …

def default_url_options(options={})

{ :locale => I18n.locale }

end

which was still in in my application controller … removed it , now it’s fine…

thanks again !!

Hi Erwin… my be you check This.

gem ‘i18n_routing’

Gruss

Thanks Werner, I’m quite there … I am working as you mentionned … but I don’t understand why I still have the locale parameter in my root_url :

in the console :

root_url

http://lvh.me:3000/?locale=en

root_path

“/?locale=en”

I18n.locale

:en

I would like to have :

root_url

http://lvh.me:3000/en

root_path

“/en”

as root_url doesn’t pass thru url_for, I cannot play with it … where is it generated ?

erwin

root :to => ‘welcome#index’

is enough

Hallo Erwin…

When you work with

before_filter :set_locale

def set_locale # update sessions if passed session[:locale] = params[:locale] if params[:locale]

# set locale based on sessions or default
I18n.locale = session[:locale] || I18n.default_locale

end

just create

index.html.erb index.en.html.erb

ect…

Gruss

I have set

match ‘/:locale’ => “welcome#home”, :as => :root

but it doesn’t cover the default case, when user enter the domain url wo locale, http://www.myapp.com

Is there any way to default it to the app default locale I18n.locale ??

thanks for feedback

You received this message because you are subscribed to the Google Groups “Ruby on Rails: Talk” group.

To post to this group, send email to rubyonrails-talk@googlegroups.com.

To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.

To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/DLwJBQxQZyEJ.

For more options, visit https://groups.google.com/groups/opt_out.

Werner Laude

webagentur.laude@gmail.com

thanks , helpful