为 rails_admin 列表字段赋值

Assign value to rails_admin list field

我正在使用 rails_admin gem 而不是数据库中的实际 id 字段我只想使用当前编号,这样管理员就不会看到实际的id 在我的数据库中。到目前为止我试过:

# Fields in Projects model
  config.model 'Project' do
    @currentId = 1;
    list do
      field :id do
        @currentId
      end
      field :year
      field :title
      field :intro
      field :description
      field :confidential
      field :star
      field :image
    end
    @currentId += 1;
  end

但这只显示我的数据库 ID。有什么建议吗?

您可以为此执行以下操作。

  1. 隐藏字段

    list do
      configure :id do
         hide
      end
    
      include_all_fields # all other default fields will be added after, conveniently
    end
    
  2. 排除字段

    list do
      exclude_fields :id
    end
    
  3. 格式化字段值

    list do
      field :id do
         formatted_value do # used in form views
           value++
         end
      end
    
      include_all_fields # all other default fields will be added after, conveniently
    end
    

更多配置请访问https://github.com/sferik/rails_admin/wiki/Fields

[答案]:只要数据库确实重置了它的id值(例如:MySql),你可以这样做:

currentId = 0
  # Fields in Projects list
  config.model 'Project' do

    list do
      field :id do
        formatted_value do
          currentId +=1
        end
      end
      field :year
      field :title
      field :intro
      field :description
      field :confidential
      field :star
      field :image
    end

如果数据库不断递增该值,则必须将当前用户作为绑定传递,并且可以在 rails_admin

的主列表视图中轻松调整 ID