【问题标题】:Make country default in form as "United States"将国家/地区默认设置为“美国”
【发布时间】:2012-12-31 23:34:36
【问题描述】:

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

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

  config.country_priority = [ "United States" ]

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

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

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

我重新启动了 Rails,它仍然默认为 Uganda。

我还尝试了以下方法:

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

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

接下来我应该尝试什么?

【问题讨论】:

    标签: ruby-on-rails


    【解决方案1】:

    试试这个,

    <%= form.country_select :country, ["United States"] %>
    

    【讨论】:

    • 我仍然将 'Uganda' 作为默认值。这真是令人费解。我在所有文件中搜索了“乌干达”,但它没有出现在任何地方。
    • 但是,它确实使美国成为列表中的第一选择。
    【解决方案2】:

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

    = f.input :country,  priority: [ "Brazil" ]
    

    【讨论】:

      【解决方案3】:

      我知道这是一个旧线程,但我最近才这样做,并认为我会分享以帮助他人。我正在使用 Rails 4.2.0、country_select (2.1.1) 和 simple_form (3.1.0)。这对我有用:

      &lt;%= f.input :country, selected: 'US' %&gt;

      如果您想阻止用户更改选择,请使用:disabled,如下所示:

      &lt;%= f.input :country, selected: 'US', disabled: true %&gt;

      只是为了澄清其他答案中的:priority 选项,它只会赋予该国家更高的优先级(即,它将将该国家放在下拉列表的顶部),它实际上并没有选择该国家。希望这会有所帮助。

      【讨论】:

        【解决方案4】:

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

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

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

        【讨论】:

          【解决方案5】:

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

          <%= form.country_select :country, ["US"] %>
          

          【讨论】:

          • 您需要使用国家代码而不是国家名称。
          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

            您只需要做:

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

            其中usermodel you are using 的名称。

            【讨论】:

            • 当我尝试时收到错误消息“未定义的方法 `merge' for ["United States"]:Array'
            【解决方案8】:

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

            <%= f.country_select :country, selected: 'US' %>
            

            【讨论】:

            • 将始终选择美国
            猜你喜欢
            • 1970-01-01
            • 2014-06-09
            • 2017-08-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多