如何查找已知活动存储blob文件名的记录?基本上寻找所有不明显的连接快捷方式。
ioekq8ef1#
我想出来了...
已附加一个:
class Report < ApplicationRecord has_one_attached :backup end
然后您可以查询blob:
Report.joins(:backup_blob).where("active_storage_blobs.filename LIKE ?", "%query%").count
已附加多个:
class Report < ApplicationRecord has_many_attached :backups end
Report.joins(:backups_blobs).where("active_storage_blobs.filename LIKE ?", "%query%").count
您还可以按content_type、byte_size和checksum查询blob
content_type
byte_size
checksum
7d7tgy0s2#
来自Blair安德森示例,但使用了Arel语法
filename_substring = "2023" # has_one_attached :backup Report.joins(:backup_blob).where(ActiveStorage::Blob.arel_table[:filename].matches("%#{filename_substring}%")) # has_many_attached :backups Report.joins(:backups_blobs).where(ActiveStorage::Blob.arel_table[:filename].matches("%#{filename_substring}%"))
2条答案
按热度按时间ioekq8ef1#
我想出来了...
已附加一个:
然后您可以查询blob:
已附加多个:
然后您可以查询blob:
您还可以按
content_type
、byte_size
和checksum
查询blob7d7tgy0s2#
来自Blair安德森示例,但使用了Arel语法