【发布时间】:2012-07-06 00:01:34
【问题描述】:
我有这个表格:
<%= form_tag posts_path, :method => :get, :class => "search_nav" do %>
<%= text_field_tag :search, params[:search], :class => "input-long search-query", :placeholder => "#{t('.search_nav')}" %>
<%= hidden_field_tag('ip', "#{request.ip}") %>
<%= hidden_field_tag('city', "#{request.location.city}") %>
<%= hidden_field_tag('country', "#{request.location.country}") %>
<%= content_tag(:div, "",:class => "icon-search") %>
<% end %>
我得到一个类似的网址:
http://localhost:3000/en/posts?utf8=%E2%9C%93&search=check+params&ip=127.0.0.1&city=&country=Reserved
我的问题是:
我可以隐藏或加密网址参数ip, city and country吗?
我不能使用POST,因为我有分页结果:
<a rel="2" href="/en/posts?city=&country=Reserved&ip=127.0.0.1&page=2&search=check+params&utf8=%E2%9C%93">2</a>
<a rel="3" href="/en/posts?city=&country=Reserved&ip=127.0.0.1&page=3&search=check+params&utf8=%E2%9C%93">3/a>
【问题讨论】:
-
为什么需要将那些隐藏字段添加到表单中?它们都是请求对象的一部分,因此您不妨直接从处理表单提交的控制器操作中访问它们。
-
您的回答是正确的。我可以在我的控制器上获取 ip、城市和国家。谢谢!
标签: ruby-on-rails ruby-on-rails-3 pagination sunspot