将国家/地区默认为“美国”

时间:2012-12-31 23:34:36

标签: ruby-on-rails

我正在尝试将表单中的国家/地区输入的默认值设置为“美国”。我正在使用简单形式的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' %>

我接下来应该尝试什么?

8 个答案:

答案 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" ]) %>

其中usermodel you are using的名称。