与rails 4.2兼容的activeadmin和activeadmin_mongoid gem

时间:2015-01-06 12:18:47

标签: ruby-on-rails mongodb ruby-on-rails-4 mongoid activeadmin

如何使用mongodb设置活动管理员。我的gem文件包含以下gem:

gem 'rails', '4.2.0' 
...
gem 'activeadmin', github: 'activeadmin'
gem 'inherited_resources', github: 'josevalim/inherited_resources', branch: 'rails-4-2'
gem 'activeadmin-mongoid', github: 'elia/activeadmin-mongoid', branch: 'rails4'

一切正常,但我收到了这个错误。

Showing /home/user/.rvm/gems/ruby-2.1.2@gemset/bundler/gems/activeadmin-7aef260921d4/app/views/active_admin/resource/index.html.arb where line #2 raised:

undefined method `column_for_attribute' for #<SuperAdmin:0x00000006a98c78>

NoMethodError in Admin::SuperAdmins#index

我该如何解决这个问题。

1 个答案:

答案 0 :(得分:0)

目前有支持rails 4.2的问题。

升级到4.2后我遇到了同样的问题:Undefined method column_for_attribute

我最终遇到了https://github.com/elia/activeadmin-mongoid/issues/95,它引导我进行拉取请求https://github.com/elia/activeadmin-mongoid/pull/96/files

所以我尝试使用:

gem 'activeadmin-mongoid', github: 'pencilcheck/activeadmin-mongoid', branch: 'patch-1'

在我的Gemfile中,它修复了我的第一个错误,但随后引发了另一个关于_ransack无效的错误。所以我再次查看了pull请求,并尝试重新添加@pencilcheck删除的内容:

module ActiveAdmin
  module Filters
    module FormtasticAddons

      # The resource class, unwrapped from Ransack
      def klass
        @object.klass
      end

    end
  end
end

将其添加到我的某个模型后,一切都会再次运作!

我已提交了有关此问题:https://github.com/elia/activeadmin-mongoid/issues/97