铁路i18n通过params迷路了

时间:2015-03-12 04:49:00

标签: ruby-on-rails ruby-on-rails-4 internationalization rails-i18n

我开始在我的应用中使用 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
更改语言后, 类型 参数会丢失。因此,它并没有指引我到正确的页面

希望我说清楚。我不知道如何解决它:/

提前谢谢。

1 个答案:

答案 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选项分开。