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

问题描述

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

enter image description here

及其在Dashboard中的模型:

enter image description here

我想同时删除两者。我没有成功尝试了这些东西:

从尝试仅声明我要显示的模型开始

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

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

enter image description here

然后我试图隐藏:

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  

我们可以像Creating a Custom Field Factory所示使用ActiveRecord吗?

解决方法

在您的rails_admin.rb中添加以下内容:

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

因为Blob类来自ActiveStorage。

附件类也是如此。

,

您几乎明白了,它一定是

config.model 'Blob' do
 visible false
end  

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

class Blob < ApplicationRecord
  rails_admin do
    visible false
  end
end
,

在 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]

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...