ruby-on-rails – ActiveAdmin:如何覆盖索引控制器操作:nil的未定义方法`base’:NilClass

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – ActiveAdmin:如何覆盖索引控制器操作:nil的未定义方法`base’:NilClass前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试覆盖ActiveAdmin控制器的索引操作,以显示current_user的结果而不是所有结果.
controller do
  def index
    @user_tasks = UserTask.where(:user_id => current_user.id).page(params[:page])
  end
end

访问ActiveAdmin时,抛出异常:

ActionView::Template::Error (undefined method `base' for nil:NilClass):
    1: render renderer_for(:index)

我正在使用rails 3.1和最新的ActiveAdmin版本. gem“activeadmin”,:git => ‘https://github.com/gregbell/active_admin.git’.

解决方法

这不再是必需的.

ActiveAdmin 0.4.4现在支持范围查询而不覆盖此方法.
请看这里:http://activeadmin.info/docs/2-resource-customization.html#scoping_the_queries

If your administrators have different access levels,you may sometimes
want to scope what they have access to. Assuming your User model has
the proper has_many relationships,you can simply scope the listings
and finders like so:

ActiveAdmin.register Post do
     scope_to :current_user

     # or if the association doesn't have the default name.
     # scope_to :current_user,:association_method => :blog_posts
 end

猜你在找的Ruby相关文章