Rails Active Admin资源问题

时间:2011-09-24 01:39:47

标签: ruby-on-rails-3 rubygems gem railscasts activeadmin

我最近看过有关活动管理员的railscast 284,并希望将其实施到我的网络应用中,但是当我添加资源时遇到了问题。每当我尝试导航到创建的选项卡时,我都会收到以下消息:

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:

我唯一可以想到的可能会影响应用程序的是添加一个recaptcha to devise,主动管理员依赖它。

4 个答案:

答案 0 :(得分:3)

对我来说,看起来这是一个分页问题。你用的是什么宝石?您应该提供有关您的安排的更多详细信息。你能从admin目录向我们展示你的资源文件吗?什么版本的rails和您使用的ActiveAdmin是什么?

答案 1 :(得分:3)

如果您使用的是will_paginate gem,请将版本设置为3.0.pre2。我正在使用~>3.0.pre2,当我运行3.0.2还原修复此问题时自动更新为bundle update。如果您使用的是Bundler,那么这一行是:

gem "will_paginate", "3.0.pre2"

答案 2 :(得分:2)

我同意Dawaid。这是一个pagiantion错误。添加" Kaminari"宝石给你Gemfile。根据活跃的管理员文档,它使用kaminari进行分页.. will_paginate也会像swiliams描述的那样对你有用...

答案 3 :(得分: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