7

我正在尝试将表单中国家/地区输入的默认值设置为“美国”。我正在使用简单的表单 gem 和国家选择 gem。

在简单的表单初始化程序中,我设置了这个默认值

  config.country_priority = [ "United States" ]

这使得最高值正确为美国,但默认值为“乌干达”。

在 _form 视图中,我执行了以下操作:

<%= f.input :country, :default => [ 'United States' ] %>

我重新启动了 Rails,它仍然默认为乌干达。

我还尝试了以下方法:

<%= f.input :country, :default => 'United States' %>

<%= f.input :country, :selected => 'United States' %>

接下来我应该尝试什么?

4

8 回答 8

4

尝试这个,

<%= form.country_select :country, ["United States"] %>
于 2013-01-01T06:00:32.703 回答
4

我用简单形式的 gem 'country_select' 尝试了这个。它对我有用。

= f.input :country,  priority: [ "Brazil" ]
于 2014-05-10T12:26:13.283 回答
3

我知道这是一个旧线程,但我最近才这样做,并认为我会分享以帮助他人。我正在使用 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其他答案中的选项,这只给予该国家更高的优先级(即,它将将该国家放在下拉列表的顶部),它实际上并没有选择该国家。希望这会有所帮助。

于 2015-04-29T18:05:12.673 回答
1

我正在使用它并且它有效。使用 formtastic gem,添加以下行。

          <% f.input :address_country, :as => :country, :priority_countries => ["United States", "United Kingdom","Australia", "New Zealand"] %>         

注意:数组中的国家是优先显示在全球所有国家之前的国家。

于 2013-08-06T14:16:12.170 回答
1

您需要使用国家代码而不是国家名称:

<%= form.country_select :country, ["US"] %>
于 2015-03-18T12:24:57.217 回答
0

我最终没有使用 gem - 太复杂了。我刚刚创建了一个常量 COUNTRIES 并改用它。

于 2013-01-03T21:03:18.520 回答
-1

我刚遇到这个问题。它正在处理https://github.com/stefanpenner/country_select的 3fb63542c085148bcea73198037d37f15c6154d7 github 修订版:

<%= f.country_select :country, selected: 'US' %>
于 2014-08-11T15:30:46.050 回答
-1

您只需要做:

<%= f.country_select("user", "country_name", [ "United States" ]) %>

您正在使用的模型user的名称在哪里。

于 2012-12-31T23:40:40.280 回答