我有一个 API。在那个 api 中是一个基本控制器,所有其他控制器都从它继承。basecontroller 处理身份验证以及 API 是否打开等。
有用户,用户可以属于一个组。用户表有一个 group_id 列。
我正在尝试引入一项新功能,即在设置页面上选择管理员控制从哪些组显示哪些用户。如果选择了某个选项,则 api 应仅显示该组中的用户。
我可以进入每个控制器(对于几个不同的任务中的每一个都有一个控制器 - 获取所有用户信息,只有 active_users ids,单个用户信息等)并将额外的语句添加到每个
if !settings.api_group.nil?
#add the additional where("group_id = ?, settings.group_id)
但这似乎是在重复自己(在 8 个不同的地方做)
有没有办法向 basecontroller 添加一些内容:
如果此设置选项不为零,则仅返回该组中的用户信息
?
谢谢