ruby-on-rails - 在 rails 中使用带有 class_name 的范围
问题描述
我正在使用带有 mongoid 的 rails 5.1。
我有一个范围的类
class Attachment
scope :documents, -> { where(is_document: true) }
然后在 Attachment 引用的另一个类上,我想获取所有作为文档的附件。
class User
has_many :documents, class_name: 'Attachment', foreign_key: :user_id
以上选择了所有附件,并且不考虑收集所有 is_document 等于 true 的范围文档。
解决方案
has_many
您可以在您的关联中将范围作为 proc 传递
class User
has_many :documents, -> { documents }, class_name: 'Attachment', foreign_key: :user_id
end
推荐阅读
- php - Laravel 身份验证“记住我”令牌
- jquery - jQuery require 返回一个对象而不是一个函数
- scala - 为什么在 Scala 中的 f 有界多态性通常使用上限类型和自类型来实现
- laravel - 有没有办法在laravel中具有“存在”条件的多个图片网址中选择一个网址?
- python - Python:读取现有 Excel 文件并选择不同的下拉值
- python - 使用 Python 和 sqlite 搜索 searchQuerys 列表中的所有值并获取出现在标题或内容列中的所有值
- android-studio - 更喜欢 const 文字作为 android studio 中 @immutable 类的构造函数的参数
- reactjs - webpack5 配置不起作用
- python - 在 python 中通过快速正弦变换求解一维 BVP:
- java - 我怎样才能让 DateUtil 抛出异常?