2014-10-17 4 views
2

Я использую камешон для выбора страны, и я хочу искать пользователей в своей стране для этого, я пробовал этот код, но кажется, что country_select_tag dosn't работает, поэтому мне интересно, что это лучший способ сделать эта работаRails country select gem

<%= 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 сделать эту работу

ответ

2

JUST использовать <%= country_select :country, params[:country] %> вместо <%= country_select_tag :country, params[:country] %>

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

+0

в моем приложении helper i have this code def country_name country = ISO3166 :: Страна [country_code] country.translations [I18n.locale.to_s] || country.name end and i my show page <% = user.country_name%> но я получаю эту ошибку undefined method 'country_name ' –

+0

@zarius вы можете показать мне всю ошибку, которую вы получили – anusha

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 %> 

Так что теперь, если форма разделяет его, будет посылать правильные параметры обратно, а также обновить поле с выбранной вами стране.