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

今日も同じ問題がありました。少し調べてみると、この問題はソースでは修正されているようですが、RubyGems.org では gem が更新されていないようです。

Github から直接プルするように GEMFILE を変更します。

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

次に を実行しbundle installbundle 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 に答える