Как ограничить названия стран в плагине `country_select`? - PullRequest
2 голосов
/ 06 марта 2011

Я использую simple_form , который автоматически использует плагин country_select при использовании поля с именем country, например:

<%= f.input :country %>

Но я хочу бытьвозможность ограничить отображаемые страны.

Я видел Код country_select определяет это :

COUNTRIES = ["Afghanistan"
  ...
"Yemen", "Zambia", "Zimbabwe"] unless const_defined?("COUNTRIES")

Итак, я мог бы отменить СТРАНЫ, как показано ниже:

<% COUNTRIES = ["Canada","USA"] %>
<p><%= f.input :country %></p>

Но я получаю ошибку:

compile error
/home/jack/src/beta/app/views/contacts/_address_fields.html.erb:6: dynamic constant assignment
');  COUNTRIES = ["Canada","USA"] 
      ^

Как перезаписать константу СТРАН?Или есть более элегантный способ сделать это?

Ps. Я использую Ruby 1.8.7p330 с Rails 3.0.3

1 Ответ

4 голосов
/ 06 марта 2011

Константа COUNTRIES уже определена плагином к моменту выполнения вашего просмотра. Определите ваш COUNTRIES в инициализаторе. (См .: config/initializers)

Edit: Поместите это в инициализатор, как config/initializers/countries.rb:

ActionView::Helpers::FormOptionsHelper::COUNTRIES = ["X", "Y", "Z"]
...