Rails Active Admin 资源问题

6

我最近观看了关于Active Admin的Railscast 284,并希望将其应用到我的Web应用程序中,但是当我添加资源时遇到了问题。每次尝试导航到创建的选项卡时,都会收到以下消息:

NameError in Admin::LoadsController#index

undefined local variable or method `per' for []:ActiveRecord::Relation
Rails.root: /Users/thomascioppettini/rails_projects/want-freight

Application Trace | Framework Trace | Full Trace
Request

Parameters:

{"order"=>"id_desc"}
Show session dump

Show env dump

Response

Headers:

没有任何问题。

唯一可能影响应用程序的事情是在Devise中添加reCAPTCHA,这对于Active Admin是依赖的。


你确定问题出在activeadmin上吗?无论如何,我认为你应该更具体,并且在你的问题中添加信息。 - Giuseppe
该项目只安装了带有reCAPTCHA的Devise。我运行了标准的脚手架生成器,并添加了Active Admin宝石。我按照文档所述生成资源,但当我转到它在Active Admin中创建的选项卡时,出现了此错误。我的控制器和模型没有引用错误消息中代码的任何部分,因此我认为是Active Admin导致了问题。 - tomciopp
4个回答

3

如果您正在使用will_paginate宝石包,请将版本设置为3.0.pre2。我之前使用的是~>3.0.pre2,当我运行bundle update时自动更新到了3.0.2,而还原后问题得到解决。如果您使用的是Bundler,请在下面添加此行:

gem "will_paginate", "3.0.pre2"

3

对我来说,这似乎是一个分页问题。你在使用哪个gem?你应该提供更多关于你设置的细节。你能展示一下你从管理目录中的资源文件吗?你在使用什么版本的rails和ActiveAdmin?


我正在使用will-paginate、rails 3.1和最新版本的Active Admin。 - tomciopp
看起来像是分页的问题,因为你正在使用will_paginate而AA则使用kaminari。但是--正如Dawid所说,你需要提供更详细的信息才能得到有意义的回复。 - Giuseppe

2

我同意Dawaid的观点。这是一个分页错误。在你的Gemfile中添加“Kaminari”宝石。根据Active Admin文档,它使用kaminari进行分页。如swilliams所描述,will_paginate也适用于你...


1

据我所知,active_admin不再支持will_paginate。但是,如果您不想将分页重写为Kaminari,您可以通过将一些代码放入初始化程序来解决此问题。

# config/initializers/will_paginate.rb
if defined?(WillPaginate)
  module WillPaginate
    module ActiveRecord
      module RelationMethods
        alias_method :per, :per_page
        alias_method :num_pages, :total_pages
      end
    end
  end
end

module ActiveRecord
  class Relation
    alias_method :total_count, :count
  end
end

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接