覆盖Controller操作后,活动管理布局丢失

时间:2011-12-05 10:18:50

标签: ruby-on-rails ruby activeadmin

我的新控制器操作:

controller do
  layout 'active_admin'
  def index
    @pages = Page.all
  end
end

刷新我收到的页面后:

undefined method `base' for nil:NilClass 
render view_factory.layout

我应该怎么做才能解决这个问题?

我开始重写控制器操作,因为我收到了此索引操作的消息:

undefined method `num_pages' for #<Array:0x0000000b860eb0>
render renderer_for(:index)

也许有人知道怎么修这个?

3 个答案:

答案 0 :(得分:1)

需要在视图页面上查看此代码,但听起来就像是在num_pages类的对象上调用array。由于Ruby的数组类没有num_pages方法,因此抛出错误。

答案 1 :(得分:1)

如果您在undefined method 'num_pages' for #<Array:0x0000000b860eb0>的{​​{1}}中设置了一个实例变量,并且模型的复数名称与我一样,则可能会出现初始before_filter。报告错误here

答案 2 :(得分:1)

杰米你是对的!但后来我收到了关于我的索引操作的消息:

undefined local variable or method `per' for ActiveRecord::Relation

我通过这样做解决了这个问题:

# 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

报告错误here