ruby-on-rails – Rails Simple Form Country Select

我正在尝试用Rails和Simple Form创建一个带有country-select的应用程序.

我收到的错误是:

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,"SG"]</code>

当我尝试遵循示例应用程序以及指导样式时,我会收到无法识别方法错误.

解决方法

我终于得到了这个工作.我删除了country-select gem(建议使用简单形式)并将其替换为country_select gem.此gem的wiki不使用与wiki上链接的示例应用程序匹配的语法.

这条线最终为我工作:

<%= par.input :participant_country,label: false %>

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...