繁体   English   中英

Rails Admin:如何隐藏 Active Storage 模型?

[英]Rails Admin: How to Hide Active Storage models?

我正在使用 Active Storage 和 Cloudinary 来存储我的一个模型的一些图像,但是在添加此之后,Active Storage 开始出现在 Rails Admin 中专门用于它的导航选项卡中:

在此处输入图片说明

以及它在仪表板中的模型:

在此处输入图片说明

我想删除两者。 我尝试了这些事情但没有成功:

首先尝试仅声明我想要出现的模型

config.included_models = [User, Notebook, Tag, Category, Part]

但由于我在 Notebook 中使用附件,它抱怨:

在此处输入图片说明

然后我试图隐藏:

config.model 'ActiveStorage' do
 list do
  visible false
 end
 navigation do
  visible false
 end
end  

也直接用模型

config.model 'Attachment' do
 list do
  visible false
 end
 navigation do
  visible false
 end
end

config.model 'Blob' do
 list do
  visible false
 end
 navigation do
  visible false
 end
end    

或者也许可以做一些像

ActiveStorage::Base.descendants.each do |imodel|
 config.model "#{imodel.name}" do
   visible false
 end
end  

正如我们可以使用 ActiveRecord 做的那样,如创建自定义字段工厂中所示

你几乎明白了,它需要

config.model 'Blob' do
 visible false
end  

选项 b) 在模型本身 blob.rb

class Blob < ApplicationRecord
  rails_admin do
    visible false
  end
end

rails_admin.rb添加以下内容:

config.model 'ActiveStorage::Blob' do
  visible false
end

因为 Blob 类来自 ActiveStorage。

这同样适用于附件类。

在 Rails 6 中,我执行以下操作

RailsAdmin.config do |config|
  config.model 'ActiveStorage::Blob' do
    visible false
  end

  config.model 'ActiveStorage::Attachment' do
    visible false
  end

  config.model 'ActiveStorage::VariantRecord' do
    visible false
  end
end

在 Rails 6 中我用过

config.excluded_models = %w[ActiveStorage::Blob ActiveStorage::Attachment ActiveStorage::VariantRecord]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM