Nic*_*nil 7 ruby-on-rails ruby-on-rails-3 activeadmin
我正在尝试覆盖ActiveAdmin控制器的索引操作,以显示current_user的结果而不是所有结果.
controller do
def index
@user_tasks = UserTask.where(:user_id => current_user.id).page(params[:page])
end
end
Run Code Online (Sandbox Code Playgroud)
访问ActiveAdmin时,抛出异常:
ActionView::Template::Error (undefined method `base' for nil:NilClass):
1: render renderer_for(:index)
Run Code Online (Sandbox Code Playgroud)
我正在使用rails 3.1和最新的ActiveAdmin版本.gem "activeadmin", :git => 'https://github.com/gregbell/active_admin.git'
.
我不知道为什么
controller do
def index
index! do |format|
@user_tasks = UserTask.where(:user_id => current_user.id).page(params[:page])
format.html
end
end
end
Run Code Online (Sandbox Code Playgroud)
做了伎俩.
这不再需要了。
ActiveAdmin 0.4.4 现在支持范围查询,而无需覆盖此方法。请参阅此处:http ://activeadmin.info/docs/2-resource-customization.html#scoping_the_queries
如果您的管理员具有不同的访问级别,您有时可能希望限制他们有权访问的范围。假设您的 User 模型具有正确的 has_many 关系,您可以简单地确定列表和查找器的范围,如下所示:
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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12845 次 |
最近记录: |