我正在使用国家/地区选择宝石,我想搜索他们所在国家/地区的用户,我已经尝试过此代码,但似乎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做这个工作
答案 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 %>
现在,如果表单被共享,将返回正确的参数以及更新所选国家/地区的字段。