【发布时间】:2014-11-04 13:53:44
【问题描述】:
我只想要一个简单的国家下拉菜单,根据我的目的优先考虑(即包括所选国家/地区内的州)。
事实上,我只想要 1 或 2 个国家/地区。
我正在使用 Simple_Form 并且他们的文档说为了访问这个:
f.input :shipping_country, priority: [ "Brazil" ], collection: [ "Australia", "Brazil", "New Zealand"]
我只需要将它包含在我的 Gemfile 中:
gem 'country_select'
但我很困惑...我不必运行迁移来将国家/地区选择存储在我的 Post 模型上 - 我将修改我的 _form.html.erb 的模型是什么?
当我这样做时:
<%= f.input :country, as: :country, collection: [ "Australia", "Brazil", "New Zealand"] %>
我收到了no country method on Post 错误。我必须将此添加到我的Post.rb:
attr_accessor :country
如果我没记错的话,因为强参数,我应该不再需要在 Rails 4 中这样做,对吧?
这可行,但现在collection: 规范不起作用。我仍然看到一长串国家/地区。
请记住,我不必运行任何迁移来修改我的 Post.rb 模型。我不知道要添加哪些列。我是添加 country, state, city 到我的 Post 模型还是创建一个名为 Country 的新模型?
Gem 中有关国家/地区(国家代码、城市、州等)的所有这些信息是否通过 Gem 中的 YAML 文件加载?
我不知道,文档也少得可怜。
所以我的问题很简单:
- 如何让这个
simple_form集合正常工作。 - 如何让国家/地区的其他属性出现在表单中(例如州和/或城市)?
- 我是否必须在某处的表格中提供这些其他数据?
- 如何将用户选择的国家和城市/州与我的
Post记录相关联?
谢谢。
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-4 simple-form