在Rails 4中使用country_select gem显示国家/地区

时间:2015-02-01 12:47:21

标签: ruby-on-rails select country

我正在尝试在Rails 4应用中实现country_select gem(gem' country_select',#>〜> 2.1.0')但没有成功。这是我表单中的代码。我已经从堆栈上的类似问题尝试了几种这样的排列而没有成功。我不明白为什么我会收到错误 -

"未定义的方法`输入' for ActionView :: Helpers :: FormBuilder:0x007fafb5878c48>"

请记住我是Rails的初学者。

    <%= form_for(@user, html: { multipart: true }) do |f| %>

    <%= f.label :country %><br>
    <%= f.input :country, as: :country %>

    <%= f.submit "Update my account", class: "btn btn-primary" %>
    <% end %>

我也试过

    <%= f.label :country %>
    <%= f.country_select :country  %>

来自文档。 &#39;国&#39;是我的用户属性之一。

欢迎任何有关新手问题的指导。

2 个答案:

答案 0 :(得分:3)

我刚刚花了一个小时来处理同样的问题,并对github文档的简洁感到恼火。不过,这对我有用,听起来就像你需要的那样:

<%= f.country_select(:country, {selected: @user.country}, {class: "form-control"}) %>

我无法获得第二个参数(请参阅https://github.com/stefanpenner/country_select) - 每次我尝试在{selected ...}之前添加任何其他内容时,它都会给我一个错误。

答案 1 :(得分:2)

<%= f.country_select :country, {priority_countries: ["SG", "US"], include_blank: "select country"}, class: 'form-control' %>

这对我有用,第一个:countryuser的属性,country_select gem的所有选项都将作为下一个参数,最后一个参数将采用类名和其他格式功能。

如果param包含单个字段,则可以使用或不使用括号传递。