ruby-on-rails - 如何确定主动存储关联?
问题描述
我有一个使用活动存储附件的所有模型的上传表单。这种形式的功能可以根据上传者是 has_one_attached 还是 has_many_attached 来改变。是否有一种方法可以确定给定模型具有哪种关联类型?
解决方案
以下似乎有效,至少对于 Active Storage。
ModelName.reflect_on_all_associations.select { |a|
a.class_name == 'ActiveStorage::Attachment'
}
如果您只想要属性名称:
ModelName.reflect_on_all_associations.select { |a|
a.class_name == 'ActiveStorage::Attachment'
}.map(&:name)
推荐阅读
- samsung-mobile - 我如何为三星 herolte 构建 hallium-boot 和 ubuntu touch?
- laravel - Laravel 代码不适用于网页。我该如何解决?
- vhdl - 连接 Verilog 整数输入的 VHDL 整数信号出错
- javascript - css文件中的Javascript颜色代码变量(React JS)
- angular - 如何禁用 Ionic 3 的离子卡?
- sql-server - Achieve the same result from this postgresql query in SQL Server 2017
- java - 如何在数据库中更新 postgresql 表时触发 java 进程
- r - 为 SECR 创建掩码时 as.vector(data) 出错
- amazon-web-services - AWS : VPC 网络模式
- ios - 如何在代码中使用扬声器模式在我的 iPhone 上拨打电话