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 に答える