Rails CanCan:使用accessible_by 和附加“where”获取记录条款?
我目前正在使用 CanCan 的 accessible_by 方法 仅获取模型的相关记录,登录用户可以访问。到目前为止,一切都很好。
但是我如何向这样的 Foobar.accessible_by(current_ability)
添加一个额外的“where”子句?
我尝试了 Foobar.accessible_by(current_ability).where(...) ,但这给了我一个异常:SQLite3::SQLException:不明确的列名
。
I am currently using the accessible_by method of CanCan to fetch only relevant records of a model, which the logged-in user can access. So far, so good.
But how can I add to such a Foobar.accessible_by(current_ability)
an additional 'where' clause?
I tried Foobar.accessible_by(current_ability).where(...)
, but that gives me an Exception: SQLite3::SQLException: ambiguous column name
.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您将包含一个共享相同属性的模型。如果您想使用此属性并保留包含,您需要指定模型,例如:
这应该在您的能力或 .where(...) 中完成,但这取决于该能力的内容和位置。
You're including a model that share the same attribute. If you want to use this attribute and keep the include you need to specify the model, e.g.:
This should be done in either your ability or in the .where(...), but that depends on the content of that ability and where.