我正在使用activeadmin并且需要弄清楚如何要求范围仅显示与当前用户相关的记录。
我还有其他用户可以选择的范围,但这些范围需要“预先确定范围”,以便在任何给定时间只有属于该用户的记录可用。
我希望这是有道理的。我对所有这些都很新,所以我不确定从哪里开始。提前感谢您的帮助。
答案 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