gpt4 book ai didi

ruby-on-rails - 如何获取 ActiveStorage 属性列表(附件名称)?

转载 作者:行者123 更新时间:2023-12-03 16:03:47 26 4
gpt4 key购买 nike

例如我有模型

class User < ApplicationRecord
has_one_attached :avatar
has_one_attached :diploma

has_many_attached :photos
has_many_attached :files
end

如何获取某些型号的附件名称列表(分别用于 has_one_attachedhas_many_attached )?
[:avatar, :diploma][:photos, :files]在这种情况下。

最佳答案

一个不依赖于命名约定的解决方案,它将根据 Rails 自己的内部结构为您提供所需的内容:

  • has_one_attached

  • User
    .reflect_on_all_attachments
    .filter { |association| association.instance_of? ActiveStorage::Reflection::HasOneAttachedReflection }
    .map(&:name)
  • has_many_attached

  • User
    .reflect_on_all_attachments
    .filter { |association| association.instance_of? ActiveStorage::Reflection::HasManyAttachedReflection }
    .map(&:name)

    关于ruby-on-rails - 如何获取 ActiveStorage 属性列表(附件名称)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56484599/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com