carmen_rails country_select错误的参数数量(3表示0)

时间:2013-08-29 18:49:30

标签: ruby-on-rails carmen

尝试让carmen_rails启动并运行以将国家和子区域(州)添加到我的家庭用户注册中并遇到一个问题我在任何在线搜索中都没有得到任何帮助(至少从我能找到的内容) )。

已安装

gem 'carmen-rails', '~> 1.0.0'

遵循github说明(https://github.com/jim/carmen-rails),应将以下代码插入我的注册页面:

<%= simple_form_for @user do |f| %>
  <%= f.input :country_code do %>
    <%= f.country_select :country_code, {object: f.object, prompt: 'Country'} %>
  <% end %>
<% end %>

我目前正在使用Rails 4.0.0和Bootstrap 3 RC2,因此我的注册码看起来像这样(以及标准表单设置):

<div class="form-group">
  <%= f.label :country, class: "col-md-4 control-label" %>
  <div class="col-md-8">
    <%= f.country_select :country, {priority: %w(US CA), prompt: "Please select a country", class: "form-control"}  %>
  </div>
</div>
来自app / models / user.rb的

和验证部分

validates :country, presence: true
validates :subregion, presence: true

我收到以下错误,无法找出根本原因或解决方案。非常感谢任何帮助!

wrong number of arguments (3 for 0)

我收到了以下错误,但认为它是通过重新启动rails服务器来解决的

undefined method `country_select' for ..

2 个答案:

答案 0 :(得分:21)

我今天也有同样的问题。经过一番挖掘,看来这个问题已经在源代码中得到修复,但是在gemGems.org上没有更新gem。

修改您的GEMFILE直接从Github提取:

gem 'carmen-rails', '~> 1.0.0', github: 'jim/carmen-rails'

然后运行bundle install,然后bundle clean删除旧版本,然后重新启动服务器。 Github版本和RubyGems.org版本是相同的,令人困惑,但这解决了它。

答案 1 :(得分:0)

就我而言,罪犯是活跃的脚手架。 我摆脱了它添加这个:

ActiveScaffold.exclude_bridges = [:country_helper]
config/initializers/active_scaffold.rb

中的