2

我跟随这个美丽的网站在我的网站中创建了国际化。

但是,当用户单击语言按钮时,我无法弄清楚如何重新加载具有不同语言环境的页面。

示例:如果用户在这里:

/es/events/14

当用户点击英语重新加载到

/en/events/14

这是视图:

 %li= link_to "eu", change_locale_path(:locale => "eu")
 %li= link_to "es", change_locale_path(:locale => "es")
 %li= link_to "en", change_locale_path(:locale => "en")
 %li= link_to "fr", change_locale_path(:locale => "fr")

这是 ApplicationController 中的方法

def change_locale
 if current_user
   current_user.locale = params[:locale]
   current_user.save
 else
   I18n.locale = params[:locale]
 end
 redirect_to root_url  (this is temporal)
end

我应该有什么而不​​是 redirect_to root_url 来重新加载页面?

4

1 回答 1

3
- [:ru, :ua, :en].each do |locale|
  %li= link_to locale, params.merge(locale: locale)
于 2012-04-12T08:33:12.790 回答