【发布时间】:2015-06-27 04:11:28
【问题描述】:
我正在尝试使用 Rails 和带有国家/地区选择的简单表单制作应用程序。
我收到一条错误消息:
wrong number of arguments (4 for 0)
我正在使用我找到的示例,用于国家/地区选择 gem 文档页面上的简单表格。我不明白出了什么问题。
在我的模型中,我有:
geocoded_by :address
after_validation :geocode, if: ->(obj){ @obj.address.present? and @obj.address_changed? }
def address
[city, state, participation_country].compact.join(', ')
end
在我的表格中,我有:
<%= f.simple_fields_for :scope do |participants_s| %>
<%= participants_s.simple_fields_for :participant do |par| %>
<%= par.select :participation_country,
priority: ["AU", "GB", "NZ", "US"],
selected: :participation_country,
label: false,
prompt: "Select participation country" %>
我在使用时遇到同样的错误
<%= par.input :participation_country,
在我看来,我有:
<%= @project.scope.participant.address %>
谁能看到我在尝试设置时做错了什么?错误消息表明有问题的行是:
<%= par.select :participation_country,
除了建议的国家/地区代码之外,我无法计算任何 4 个,尽管我删除了其中一个尝试并得到相同的错误。
当我尝试时:
<%= par.country_select("participation_country", {:prompt => "Choose Country"})%>
我得到同样的错误:参数数量错误(4 代表 0)
我也尝试删除 country-select gem 并安装 country_select gem。使用简单形式的 country_select gem 的指南有这个例子:
country_select("user", "country", only: ["GB", "FR", "DE"])
但是,简单表单的示例应用程序显示为:
<fieldset>
<legend>With Only Chosen Countries</legend>
<%= f.input :country_code, only: ["LV","SG"] %>
<code>f.input :country_code, only: ["LV","SG"]</code>
当我尝试遵循示例应用程序以及指导样式时,我收到了无法识别方法的错误。
【问题讨论】:
-
您的选择选项将从哪里出现?
-
嗨,鸸鹋,你是什么意思?我认为这些是优先选择,并且我认为 country_select 提供了完整列表
-
您可以轻松地使用 Country gem。简单的表单有一个集成和首选。
-
嗨 Rubyrider - 我正在尝试使用简单的表单和国家/地区选择 gem。我不确定“国家宝石”是什么,但简单的形式建议使用国家选择,我就是这样做的。我一点也不觉得这很容易
-
对不起,这是 country_select gem。