Ruby on rails 属于where-conditional

Ruby on rails 属于where-conditional,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有以下情况: 横幅有1个附件,其中一个有很多子项(称为附件)。然后我需要得到附件和他的孩子(我已经得到了)。但我只需要具有mime\u type==”图像的附件(包括父级和子级)。(jpg/jpeg)或任何类型的图像 模型(工作) 我使用以下代码进行了修复: class Admin::Banner < ActiveRecord::Base belongs_to :attachment, -> { where "admin_attachments.mime_type REGE

我有以下情况:

横幅有1个附件,其中一个有很多子项(称为附件)。然后我需要得到附件和他的孩子(我已经得到了)。但我只需要具有
mime\u type==”图像的附件(包括父级和子级)。(jpg/jpeg)
或任何类型的图像

模型(工作)


我使用以下代码进行了修复:

class Admin::Banner < ActiveRecord::Base
    belongs_to :attachment, -> { where "admin_attachments.mime_type REGEXP 'image.*'" }, foreign_key: :admin_attachment_id, class_name: 'Admin::Attachment'
    has_many :attachments, through: :attachment
end
class Admin::Banner{where“admin\u attachments.mime\u type REGEXP'image.*'”},外键::admin\u attachment\u id,类名称:'admin::attachment'
有多个:附件,通过::附件
结束

您需要限定where子句适用于哪个表:
“attachments.mime\u type REGEXP?image.*”
我这样做了,我得到以下错误
语法错误,意外的tSTRING\u BEG,应为关键字\u do或“{”或“(”…包括:attachments,where“attachments.mime_type REGEXP……”^
@max有什么建议吗?
包括(:附件)。其中(“…”
。实际上很难理解您要做什么。”我有以下情况:一个横幅有一个附件,其中一个有很多子项(称为附件)你的意思是每一个横幅都有多个附件,其中一个是“父母”,或者你的意思是每个附件都有孩子的附件?无论哪种方式,我都觉得你的造型不正确,应该考虑修改…
belongs_to :attachment, -> { includes :attachments, where "mime_type REGEXP 'image.*'" }, foreign_key: :admin_attachment_id, class_name: 'Admin::Attachment'
class Admin::Banner < ActiveRecord::Base
    belongs_to :attachment, -> { where "admin_attachments.mime_type REGEXP 'image.*'" }, foreign_key: :admin_attachment_id, class_name: 'Admin::Attachment'
    has_many :attachments, through: :attachment
end