3

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

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

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

4

1 回答 1

1

您是否尝试过范围界定scope_to :current_user

AA 有一些带有 docs 的示例。在这里他们是 http://activeadmin.info/docs/2-resource-customization.html#scoping_the_queries

current_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
于 2012-10-24T08:30:46.673 回答