我正在尝试将表单中的国家/地区输入的默认值设置为“美国”。我正在使用简单形式的gem和国家选择gem。
在简单表格初始化程序中,我设置了此默认值
config.country_priority = [ "United States" ]
这使得最顶层的值与美国一样正确,但默认值为'Uganda'。
在_form视图中,我执行了以下操作:
<%= f.input :country, :default => [ 'United States' ] %>
我重新启动了Rails,它仍然默认为乌干达。
我也尝试了以下内容:
<%= f.input :country, :default => 'United States' %>
和
<%= f.input :country, :selected => 'United States' %>
我接下来应该尝试什么?
答案 0 :(得分:4)
试试这个,
<%= form.country_select :country, ["United States"] %>
答案 1 :(得分:4)
我用简单形式的gem'agen_select'尝试了这个。这对我有用。
= f.input :country, priority: [ "Brazil" ]
答案 2 :(得分:2)
我知道这是一个老线程,但我最近刚做了这个,并认为我会分享帮助别人。我正在使用Rails 4.2.0,country_select(2.1.1)和simple_form(3.1.0)。这对我有用:
<%= f.input :country, selected: 'US' %>
如果您想阻止用户更改选择,请使用:disabled
,如下所示:
<%= f.input :country, selected: 'US', disabled: true %>
只是为了澄清其他答案中的:priority
选项,只给予该国更高的优先级(即它将国家置于下拉列表的顶部),它实际上并未选择该国家/地区。希望这有用。
答案 3 :(得分:1)
使用它并且它有效。使用formtastic gem,添加以下行。
<% f.input :address_country, :as => :country, :priority_countries => ["United States", "United Kingdom","Australia", "New Zealand"] %>
注意:阵列中的国家/地区是在整个全球国家之前首先显示的优先国家。
答案 4 :(得分:1)
您需要使用国家/地区代码而不是国家/地区名称:
<%= form.country_select :country, ["US"] %>
答案 5 :(得分:0)
我最终没有使用宝石 - 太复杂了。我刚刚创建了一个常量COUNTRIES并使用了它。
答案 6 :(得分:0)
我刚遇到这个问题。它正在研究https://github.com/stefanpenner/country_select的3fb63542c085148bcea73198037d37f15c6154d7 github修订版:
<%= f.country_select :country, selected: 'US' %>
答案 7 :(得分:-1)
你应该只做:
<%= f.country_select("user", "country_name", [ "United States" ]) %>
其中user
是model you are using的名称。