在activeadmin资源中需要范围

时间:2012-10-24 04:09:21

标签: ruby-on-rails activeadmin scopes

我正在使用activeadmin并且需要弄清楚如何要求范围仅显示与当前用户相关的记录。

我还有其他用户可以选择的范围,但这些范围需要“预先确定范围”,以便在任何给定时间只有属于该用户的记录可用。

我希望这是有道理的。我对所有这些都很新,所以我不确定从哪里开始。提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您是否尝试过scope_to :current_user

AA有一些文档示例。他们来了 http://activeadmin.info/docs/2-resource-customization.html#scoping_the_queries

current_user是获取当前登录用户的辅助方法(我认为currend_admin_user是默认的) 来自AA初始化程序的代码

# This setting changes the method which Active Admin calls
# to return the currently logged in user.
config.current_user_method = :current_user

如果您的模型中有某种使用登录用户的方法,您可以执行类似的操作

controller do
      def scoped_collection
        Post.some_method(current_user)
        #or for example Post.select(current_user.visible_posts_columns) ... etc
      end
    end