国家 gem rails
Countries gem rails
我正在使用国家 gem 在下拉列表中列出国家,
<%= form.collection_select(:country, ISO3166::Country.countries.sort_by(&:name), 'name', 'name', {include_blank: 'Select a country'}, class: "select__picker", 'data-style': 'form-control', required: true) %>
有什么方法可以在下拉菜单中显示带有国家表情符号的国家名称
是的,有办法。
<%= f.collection_select(:country, ISO3166::Country.countries.sort_by(&:name).collect { |c| [ c.name, "#{c.name} #{c.emoji_flag}" ] }, :first, :last, {include_blank: 'Select a country'}, class: "select__picker", 'data-style': 'form-control', required: true) %>
collection_select
只接受方法名称作为 text_method
参数。
text_method
在 collection
参数上调用,即:
ISO3166::Country.countries.sort_by(&:name).collect { |c| [ c.name, "#{c.name} #{c.emoji_flag}" ] }
因此,在您的情况下,您调用 :first
获取值,调用 :last
获取选项文本:
[
['COUNTRY_1_NAME', 'COUNTRY_1_NAME COUNTRY_1_FLAG'],
['COUNTRY_2_NAME', 'COUNTRY_2_NAME COUNTRY_2_FLAG']
etc.
]
我正在使用国家 gem 在下拉列表中列出国家,
<%= form.collection_select(:country, ISO3166::Country.countries.sort_by(&:name), 'name', 'name', {include_blank: 'Select a country'}, class: "select__picker", 'data-style': 'form-control', required: true) %>
有什么方法可以在下拉菜单中显示带有国家表情符号的国家名称
是的,有办法。
<%= f.collection_select(:country, ISO3166::Country.countries.sort_by(&:name).collect { |c| [ c.name, "#{c.name} #{c.emoji_flag}" ] }, :first, :last, {include_blank: 'Select a country'}, class: "select__picker", 'data-style': 'form-control', required: true) %>
collection_select
只接受方法名称作为 text_method
参数。
text_method
在 collection
参数上调用,即:
ISO3166::Country.countries.sort_by(&:name).collect { |c| [ c.name, "#{c.name} #{c.emoji_flag}" ] }
因此,在您的情况下,您调用 :first
获取值,调用 :last
获取选项文本:
[
['COUNTRY_1_NAME', 'COUNTRY_1_NAME COUNTRY_1_FLAG'],
['COUNTRY_2_NAME', 'COUNTRY_2_NAME COUNTRY_2_FLAG']
etc.
]