Rails国家选择宝石

时间:2014-10-17 02:04:07

标签: ruby-on-rails ruby-on-rails-3 search ruby-on-rails-4

我正在使用国家/地区选择宝石,我想搜索他们所在国家/地区的用户,我已经尝试过此代码,但似乎country_select_tag dosn工作,所以我想知道做这项工作的最佳方式是什么

<%= form_tag search_users_path, class:"form-wrapper_compdirect cf navbar-left", :method => :get do %>

   <%= country_select_tag :country, params[:country] %> 
   <%= text_field_tag :query, params[:query], class:"quick-search_compdirect", placeholder:"Chercher des Utilisateurs" %> 
   <button type="submit" class="submit-button-search"><img src="/assets/search-g.png" title="Search" /></button>
<% end %>

并且还想知道如何获取国家/地区的名称而不是显示页面中的缩写,例如我在我的展示页面中显示此代码

Pays de l'utilisateur : <%= user.country %>但是没有得到法国我得到FR做这个工作

3 个答案:

答案 0 :(得分:2)

JUst使用<%= country_select :country, params[:country] %>代替<%= country_select_tag :country, params[:country] %>

答案 1 :(得分:0)

你可以这样写

country_select("user"#{model name}, "country"#{variable value})

country_select("user", params[:country])

您可以使用country_select文档中的某些方法获取国家/地区名称

点击此链接一次:http://www.rubydoc.info/gems/country_select/2.1.0/frames

答案 2 :(得分:0)

我尝试了第一个答案但由于表单已共享并显示在结果页面上,因此任何后续表单提交都会破坏查询字符串。

<%= form_tag(search_path, method: :get) do %>
  <label for="country">Search by Country</label>
  <%= country_select nil, :country, { selected: params[:country] } %>
  <%= submit_tag("Submit") %>
<% end %>

现在,如果表单被共享,将返回正确的参数以及更新所选国家/地区的字段。