[英]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.