【问题标题】:Rails Admin: How to Hide Active Storage models?Rails 管理员:如何隐藏活动存储模型?
【发布时间】:2020-09-03 15:10:32
【问题描述】:

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

以及它在 Dashboard 中的模型:

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

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

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

但由于我在笔记本中使用附件,它会抱怨:

然后我试图隐藏:

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 进行操作?

【问题讨论】:

    标签: ruby-on-rails rails-admin rails-activestorage


    【解决方案1】:

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

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

    因为 Blob 类来自 ActiveStorage。

    这同样适用于 Attachment 类。

    【讨论】:

    • 哈哈我知道我必须引用 ActiveStorage 我只是不知道怎么做!非常感谢!
    【解决方案2】:

    你几乎得到它,它需要是

    config.model 'Blob' do
     visible false
    end  
    

    选项 b) 关于模型本身 blob.rb

    class Blob < ApplicationRecord
      rails_admin do
        visible false
      end
    end
    

    【讨论】:

    • 我已经试过了。它没有用。 :( 我也试过 'active_storage_blobs' 这是实际的表名。
    • 看来你可以直接参考config.model ModelName的模型来获取Active Record Models。也许它需要一些配置来做出与 Active Storage Models 相关的声明......
    • 我已尝试使用选项 B 但仍然无法正常工作。
    【解决方案3】:

    在 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
    

    【讨论】:

      【解决方案4】:

      在 Rails 6 中我使用过

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

      【讨论】:

        猜你喜欢
        • 2011-01-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-10
        • 1970-01-01
        • 2015-11-07
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多