【问题标题】:Rails_admin, change order of columns in listRails_admin,更改列表中列的顺序
【发布时间】:2015-11-24 08:29:23
【问题描述】:

在 rails_admin 列表根据列在数据库中的排序方式显示模型的所有可用列:

但是,我希望列表页面中的顺序不同。我首先要name,然后是表中的其他字段。

有可能吗? rails_admin 的文档中没有提及它。

【问题讨论】:

    标签: ruby-on-rails rails-admin


    【解决方案1】:

    文档已更改。在初始化程序中创建 rails_admin 文件夹。将带有您的型号名称的 .rb 文件添加到该文件夹​​:config/initializers/rails_admin/

    然后按照您希望它们显示的顺序添加您想要离开的列。

    RailsAdmin.config do |config|
      config.model 'YourModelName' do
        list do
          field :name
          field :version
        end
      end
    end
    

    这将在列表视图中仅显示“名称”和“版本”列。

    【讨论】:

      【解决方案2】:

      您可以在此处阅读有关字段排序的信息:https://github.com/sferik/rails_admin/wiki/Fields#inclusion

      如果你的模型被称为用户,创建一个新的配置文件config/initializers/rails_admin/user.rb

      内容如下:

      if User.table_exists?
        RailsAdmin.config User do
          list do
            # simply adding fields by their names (order will be maintained)
            include_fields :name, :id, :created_at, :updated_at, :version, :shopping_malls
          end
        end
      end
      

      如果这行得通,请告诉我!

      【讨论】:

      • 如果与动态字段一起使用,它会提示“nil:NilClass 的未定义方法‘已定义’”
      【解决方案3】:

      在 app/admin/item.rb 你可以这样做。

      index do column :Name column :id column :created_at end

      这将为您提供包含名称、id 和 created_at 的列。

      【讨论】:

      • 会影响到list的动作吗?
      • 不,它不会影响您的列表操作,它仅在管理方面。我希望您有 admin/list.rb 文件,您可以在其中添加以下代码。
      • 您提到的是activeadmin gem吗?我使用 rails_admin gem
      • 如果是这样,您可以使用这种方式。 RailsAdmin.config do |config| config.model 'Team' do list do field :name field :created_at end end end
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 1970-01-01
      • 2017-03-14
      • 1970-01-01
      • 1970-01-01
      • 2013-08-08
      • 1970-01-01
      相关资源
      最近更新 更多