我开始在我的应用中使用 i18n ,但我通过 link_to 传递参数来访问的所有页面都不是'工作。
所以,让我们说我目前在这个页面上
/ar/browse?type=art
我点击此 link_to
<%= link_to "/ART/", browse_url(:type => "art")%>
然后我决定通过点击这个来改变语言:
<%= link_to_unless_current "en", locale: 'en', :class => 'my-navbar-link' %>
更改语言后,这就是我所指向的
/en/browse?class=my-navbar-link
更改语言后, 类型 参数会丢失。因此,它并没有指引我到正确的页面
希望我说清楚。我不知道如何解决它:/
提前谢谢。
答案 0 :(得分:1)
您错误地将参数传递给link_to_unless_current
。以下是您需要做的事情:
link_text = "en" # or whatever you like
html_class = "my-navbar-link"
link_to_unless_current link_text,
{locale: "en", type: params[:type]},
{class: html_class}
即。您需要将链接选项与HTML选项分开。