ActiveAdmin:如何覆盖索引控制器操作:未定义的方法“base”对于 nil: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'。
I'm trying to override the index action of the ActiveAdmin controller for it to display results for the current_user instead of all results.
controller do
def index
@user_tasks = UserTask.where(:user_id => current_user.id).page(params[:page])
end
end
When accessing ActiveAdmin, an exception in thrown:
ActionView::Template::Error (undefined method `base' for nil:NilClass):
1: render renderer_for(:index)
I'm using rails 3.1 and the latest ActiveAdmin version. gem "activeadmin", :git => 'https://github.com/gregbell/active_admin.git'
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我不知道为什么,但
还是成功了。
I don't know why but
did the trick.
这不再需要了。
ActiveAdmin 0.4.4 现在支持范围查询,而无需覆盖此方法。
请参阅此处:http://activeadmin.info/docs/2-resource-customization .html#scoping_the_queries
This is not required any more.
ActiveAdmin 0.4.4 now supports scoping queries without overriding this method.
please see here: http://activeadmin.info/docs/2-resource-customization.html#scoping_the_queries
让我们像这样覆盖操作:
通过这种方式,您还可以使用您覆盖的新集合正常运行导出功能(到 xml、csv、...)。
在我的测试中,它仅适用于条件和范围,不适用于限制。
从此参考:https://github.com/activeadmin/activeadmin/issues/642
Let override the action like this:
By this way, you also can run the export functions (to xml, csv, ...) normally with new collection that you have overridden.
In my test, it just works for where condition and scope, not for limit.
Refer from this: https://github.com/activeadmin/activeadmin/issues/642