Rails 5 - значки флагов с динамическим вводом страны
Я установил этот значок флага scss gem в своем приложении Rails 5.
https://github.com/eugenegarl/flag-icons-rails
Сейчас я пытаюсь выяснить, как я могу использовать его с моей моделью адресов, чтобы помощник получал название страны из таблицы адресов и использовал его для отображения правильного флага. Я не могу найти способ дать динамический ввод помощнику флага.
В readme для драгоценного камня есть инструкция, которую я не могу понять:
Do not add gem to assets section if you want to use flag_icon rails helper.
Какие активы? Я добавил драгоценный камень в gemfile, связал и затем добавил:
@import "flag-icon";
к моему application.scss - который является активом. Я попытался удалить эту строку импорта из application.scss на случай, если инструкция в readme означает не использовать эту строку, если вы хотите использовать помощник. Удаление этой строки не решило мою проблему (поэтому она вернулась).
У меня есть модель адреса, в которой есть атрибут страны.
a = Address.last.country
Address Load (0.9ms) SELECT "addresses".* FROM "addresses" ORDER BY "addresses"."id" DESC LIMIT $1 [["LIMIT", 1]]
=> "AU"
Я хочу иметь возможность использовать "страну" в помощнике значок флага, чтобы он отображал соответствующий флаг.
На мой взгляд, я попытался:
<%= flag_icon(Address.last.country) %>
<%= flag_icon(Address.last.country.to_sym) %>
Ни одна из этих попыток не работает. Они не выдают никаких ошибок, они просто не отображают карту.
Карты работают, потому что если я попробую:
<%= flag_icon(:au) %>
он печатает правильный флаг.
Как я могу дать помощнику динамический ввод страны?
1 ответ
Столкнулся с аналогичной проблемой.
я использую gem 'country_select'
,
Оказывается, символ был в CAPS, поэтому не работал.
Попробуйте изменить следующее:
<%= flag_icon(Address.last.country.to_sym) %>
Для того, чтобы:
<%= flag_icon(Address.last.country.downcase.to_sym) %>
(Обратите внимание на .downcase
добавлено выше).