Rails Admin: как скрыть модели Active Storage?
Я использую Active Storage и Cloudinary для хранения некоторых изображений одной из моих моделей, но после добавления этого Active Storage стало появляться в Rails Admin на вкладке навигации, посвященной ему:
И его модели в Dashboard:
Я хочу удалить оба. Я пробовал эти вещи безуспешно:
Начнем с попытки объявить только те модели, в которых я хочу присутствовать
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, как показано в разделе «Создание фабрики настраиваемых полей» ?
Ответы
В вашем rails_admin.rbдобавлении следующее:
config.model 'ActiveStorage::Blob' do
visible false
end
поскольку класс Blob происходит от ActiveStorage.
То же самое относится и к классу Attachment.
Вы почти получили это, это должно быть
config.model 'Blob' do
visible false
end
Вариант б) На самой модели blob.rb
class Blob < ApplicationRecord
rails_admin do
visible false
end
end