7

试图让 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 ..
4

2 回答 2

21

我今天也有同样的问题。经过一番挖掘,这个问题似乎已在源代码中修复,但 gem 尚未在 RubyGems.org 上更新。

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

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

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

于 2013-08-30T01:20:43.403 回答
0

在我的例子中,罪犯是 Active Scaffold。我摆脱了它添加这个:

ActiveScaffold.exclude_bridges = [:country_helper]

config/initializers/active_scaffold.rb

于 2014-07-10T13:06:48.067 回答