Как использовать драгоценный камень Страны

Я пытаюсь использовать Драгоценный камень Страны, но у меня были некоторые основные вопросы о том, как включить этот драгоценный камень после того, как я установил его в комплекте.

  1. Нужно ли создавать новый контроллер / модель для доступа к странам?
  2. Как мне создать простой выпадающий список, чтобы показать список стран для выбора пользователя?
  3. Где хранятся все страны? (Я видел файл данных в Gem, но мне нужна ясность, как перенести это в мое собственное приложение)

2 ответа

Решение

1) Вам не нужен новый контроллер / модель для доступа к странам

2) На странице README есть пример приложения, в котором показано, как использовать формы и выпадающие списки.

3) страны магазины в приложении. Я считаю, что country_select включает драгоценный камень ISO 3166, чтобы получить список стран. Вы можете просмотреть данные в файле country.yaml

Если хотите узнать что-то еще, я рекомендую посмотреть пример приложения. Это хороший пример того, как использовать драгоценный камень.

Вам не нужно создавать новый контроллер / модель для работы с драгоценным камнем.

Чтобы создать выпадающий список, просто установите country_select драгоценный камень (как указано в документе)

Затем, чтобы использовать его, просто сделайте это в ваших представлениях:

country_select(:your_model_name, :your_attribute_name)

Чтобы интегрировать его в form_for с некоторыми дополнительными параметрами, такими как классы Bootstrap или выбранная страна по умолчанию:

<%= form_for @message, url: contact_path, html: { :class => "form-horizontal " } do |f| %>

    <div class="form-group">
        <%= f.label :country, :class => "col-md-3 control-label" %>
        <div class="col-md-9">
            <%= f.country_select :country, ["United States"], {}, { :class => "form-control" } %>
        </div>
    </div>

    <%= f.submit "Submit", :class => "btn btn-default" %>

<% end %>

Для точных вариантов у вас есть этот метод, см. Здесь:

country_select(method, priority_or_options = {}, options = {}, html_options = {})

Надеюсь, поможет!

Другие вопросы по тегам