estoy usando esta guía: http://edgeguides.rubyonrails.org/i18n.htmlRuby on Rails Rutas con variantes regionales
Lo que me gustaría:
/about
va a pages#about
con la configuración regional en default de en
.
/en/about
va a pages#about
con la configuración regional de en
.
/es/about
va a pages#about
con la configuración regional de es
.
lo que me pasa:
/about
va a root_path
con la configuración regional de about
.
/en/about
va a pages#about
con la configuración regional de en
.
/es/about
va a pages#about
con la configuración regional de es
.
Aquí hay un código:
# config/routes.rb
match '/:locale' => 'pages#news'
scope "(:locale)", :locale => /en|es/ do
match '/abcd' => 'pages#abcd'
match '/plan' => 'pages#plan'
match '/about' => 'pages#about'
match '/history' => 'pages#history'
match '/projects' => 'pages#projects'
match '/donate' => 'pages#donate'
match '/opportunities' => 'pages#opportunities'
match '/board' => 'pages#board'
end
root :to => "pages#news"
# app/controller/application_controller.rb
before_filter :set_locale
def set_locale
# if params[:locale] is nil then I18n.default_locale will be used
I18n.locale = params[:locale]
end
def default_url_options(options={})
{ :locale => I18n.locale }
end
Si estoy leyendo la guía correctamente, sección 2.5 dice que yo debería ser capaz de acceder /about
y hacer que cargue la configuración regional predeterminada.
de 2,5:
# config/routes.rb
scope "(:locale)", :locale => /en|nl/ do
resources :books
end
Con este enfoque no se obtendrá un error enrutamiento cuando se accede a sus recursos como http://localhost:3001/books sin un local . Esto es útil cuando desea utilizar la configuración regional predeterminada cuando no está especificado.
¡Oh! Ahora entiendo. ¡Gracias! Eso funciona perfectamente. – tinifni