Ruby on rails 需要activeadmin资源中的作用域

Ruby on rails 需要activeadmin资源中的作用域,ruby-on-rails,activeadmin,scopes,Ruby On Rails,Activeadmin,Scopes,我正在使用activeadmin,需要弄清楚如何要求作用域只显示与当前用户相关的记录 我还有其他用户可以选择的作用域,但这些作用域需要“预先确定作用域”,这样在任何给定时间都只有属于该用户的记录可用 我希望这是有道理的。我对这一切都很陌生,所以我不确定从哪里开始。提前感谢您的帮助。您是否尝试使用范围将范围限定为:当前用户 AA有一些文档示例。给你 current\u user是获取当前登录用户的助手方法(我认为currend\u admin\u user是默认值) 来自AA初始值设定项的代码

我正在使用activeadmin,需要弄清楚如何要求作用域只显示与当前用户相关的记录

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


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

您是否尝试使用
范围将范围限定为:当前用户

AA有一些文档示例。给你

current\u user是获取当前登录用户的助手方法(我认为currend\u admin\u 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

好的,我不知道要分开的范围,我今晚去看看。我使用的是自定义身份验证和cancan。我不确定这是否会影响事情,但我认为新版本的AA0.5.0应该以某种方式使用cancan来只显示适用的记录。初始化器中是否有我需要为此设置的配置?你用过0.5.0吗?再次感谢!如果我了解,您可以使用scoped_收集方法“预范围”您的数据