我正在尝试使用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"})%>
我得到了同样的错误:错误的参数数量(0表示4)
我也尝试过删除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>
当我尝试遵循示例应用程序以及指导样式时,会出现无法识别方法的错误。
最佳答案
我终于得到了这项工作。我删除了选择国家(地区)的gem(建议以简单的形式使用),然后将其替换为(国家/地区)gem。该gem的Wiki不使用与Wiki上链接的示例应用程序匹配的语法。
这条线最终为我工作:
<%= par.input :participant_country, priority: ["AU", "NZ", "GB", "US"], label: false %>
关于ruby-on-rails - Rails简易表格国家/地区选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31085063/