在 rails 上将参数传递给 url -ruby

Passing parameters to url -ruby on rails

嗨,我的应用程序有问题。在我的网页上,我有说明:<%= link_to "English", :locale=>'en'%> 当我在主页上时它工作正常,但如果我有 URL 很多参数,我有错误,因为点击这个 link 我只有一个参数。例如: http://localhost:3000/static_pages/search?utf8=%E2%9C%93&search=asd&locale=pl&commit=Szukaj 点击后: http://localhost:3000/static_pages/search?locale=en 有人知道我该如何解决这个问题? 在布局中我有这一行:

     <% if I18n.locale == I18n.default_locale %>
  <%= link_to "English", :locale=>'en'%>

<% else %>
  <%= link_to "Polski", :locale=>'pl'%>

当我想去 static_pages/home 或 static_pages/contact 时效果很好,但是如果我有子页面,它需要来自表单的参数并且我想在它上面更改语言,我有错误. 例如我有这个表格:

<%= form_tag(static_pages_search_path, :method => "get" ) do %>
            <%= text_field(:post, :title, size: 20, :name =>"search", :style => "color: #C0C0C0; margin-top: 10px;", :placeholder => t('widok.wyszukiwarka.tekst'),:required => true,:minlength=>"3")%>
          <%= hidden_field_tag 'locale', language  %>
          <%= submit_tag t('widok.wyszukiwarka.przycisk'),data: { disable_with: t('widok.wyszukiwarka.przycisk_czekaj') } %>
          <% end %>

其中语言=I18n.locale.

当我点击 sumbit_tag 时,一切正常,但如果我想更改此子页面上的语言,我会出错,因为 URL 只有一个参数:语言环境,没有参数搜索和提交

感谢 Kristján 的帮助。我使用 <%= link_to "English", params.merge({:locale=>'en'})%>,现在应用程序有效:)