rails admin uninitialized constant Country :: Person

时间:2014-12-25 18:33:23

标签: ruby-on-rails activeadmin

当我点击rails_admin导航中的国家/地区时,我得到了

NameError in RailsAdmin::Main#index

uninitialized constant Country::Person

raise NameError.new("uninitialized constant #{candidates.first}", candidates.first)

我正在使用用户模型而不是人。我想我需要以某种方式配置它。但是在哪里这样做?

这是我的rails admin初始化程序

  ## == Devise ==
   config.authenticate_with do
     warden.authenticate! scope: :user
   end
   config.current_user_method(&:current_user)

  ## == Cancan ==
   config.authorize_with :cancan 

  ### More at https://github.com/sferik/rails_admin/wiki/Base-configuration

  config.model "User" do
      edit do
        field :admin
        field :username
        field :email
        field :password
      end
    end

  config.actions do
    dashboard                     # mandatory
    index                         # mandatory
    new
    export
    bulk_delete
    show
    edit
    delete
    show_in_app

    ## With an audit adapter, you can add:
    # history_index
    # history_show
  end

2 个答案:

答案 0 :(得分:3)

问题在于我的模型。 它曾经是

class Country < ActiveRecord::Base
  has_many :people
end

答案 1 :(得分:3)

我也遇到过这个问题,但这并不是因为失去关联造成的。我在创建模型时错误地复制了我的模型名称:它是Things而不是Thing

我通过将things.rb中的班级名称从Things更改为Thing并将文件重命名为thing.rb来手动修复。