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

时间:2015-07-30 14:37:36

标签: html ruby-on-rails ruby url parameters

Hy,我的申请有问题。在我的网页上,我有说明:<%= link_to"英语",:locale =>' en'%>当我在主页上时,它工作得很好,但如果我在URL中有很多参数,我就有错误,因为点击此链接后我只有一个参数。例如: 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 %>

其中language = I18n.locale。

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

1 个答案:

答案 0 :(得分:0)

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