Rails link to current page and passing parameters to it
Posted
by Faisal
on Stack Overflow
See other posts from Stack Overflow
or by Faisal
Published on 2010-03-30T07:50:59Z
Indexed on
2010/03/30
7:53 UTC
Read the original article
Hit count: 659
ruby-on-rails
|i18n
I am adding I18N to my rails application by passing the locale using url params. My urls are looking like http://example.com/en/users and http://example.com/ar/users (for the english and arabic locales respectively).
In my routes file, I have defined my routes with a :path_prefix option:
map.resources :users, :path_prefix => '/:locale'
And locale is being set using a before_filter defined in ApplicationController
def set_locale
I18n.locale = params[:locale]
end
I also defined ApplicationController#default_url_options, to add locale to all urls generated by the application:
def default_url_options(options={})
{:locale => I18n.locale}
end
What I want is to add a link in the layout header (displayed in all pages) that would link to the same page but with the other locale.
For instance, if I am browsing the arabic locale, I want a "English" link in the header, that will redirect me back to my current page, and set the locale to english. Is there a way to do this in rails?
© Stack Overflow or respective owner