【发布时间】:2018-07-31 10:12:40
【问题描述】:
我的网站使用两种语言,英语和丹麦语。
1) 我有一个如下所示的链接列表:
<%= link_to html_viewer_url(activity.course, activity), target: '_blank' do %>
<%= t('.show') %>
<i class="fa fa-angle-right" aria-hidden="true"></i>
<% end %>
翻译t('.show') 大部分时间显示正确的语言,但有时,如果语言设置为英语,则其中一两个链接会以丹麦语显示,反之亦然。
2) 我有一个指向http://localhost:3000/da/users/edit 的链接。当我在此页面上,并按链接切换语言时,URL 更改为...:3000/en/...,但语言仍为丹麦语。如果我随后单击最初将我带到/users/edit 的相同链接,则语言将切换为英语。每次点击时,它会在英语和丹麦语之间交替。但 URL 保持不变,包含 /en/。这只发生在.../users/edit 页面上,没有其他地方。
要切换语言,我使用以下链接。 default_locale 是 da。
<% if I18n.locale == I18n.default_locale %>
<%= link_to "English", { :locale=>'en' } %>
<% else %>
<%= link_to "Dansk", { :locale=>'da' } %>
<%end%>
在我的routes.rb 中,用户的 URL 如下:
scope "/:locale" do
resources :users, except: [:new, :create, :edit]
end
这与更改语言的其他页面相同。
有什么可能导致这种情况的想法吗?
如您所见,第 3 行是英语,其他是丹麦语。并且选择的语言是英语。
【问题讨论】:
-
你在使用turbolinks吗?
-
是的,我正在使用 turbolinks。
-
这是在黑暗中拍摄的,但请尝试不使用它们。