【发布时间】:2017-12-07 20:58:56
【问题描述】:
我有一个多语言应用程序,它可以更改始终位于页面顶部的链接上的语言。
<%= link_to "English", :locale => 'en' %>
<%= link_to "French", :locale => 'fr' %>
当我单击任何链接时,param[:locale] 会更改,并且所有翻译都显示正常。但是,当我单击任何 url 时,链接将保留在当前语言环境中。它不会用新的 url 改变实际路径。
控制器
before_action :set_locale
def default_url_options
{ locale: I18n.locale }
end
def set_locale
I18n.locale = params[:locale]
end
路线
namespace :admin do
scope "(:locale)", locale: /en|fr/ do
// resources
end
end
我希望当我单击链接更改区域设置时,页面中的所有内容都会更改,包括路径。目前它只加载正确的翻译文件,但不更新路径。
谢谢!
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-5