将值分配给rails_admin列表字段

时间:2016-11-15 13:03:41

标签: ruby ruby-on-rails-4 field rails-admin

我正在使用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。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

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

  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
    
  4. 有关更多配置,请访问https://github.com/sferik/rails_admin/wiki/Fields

答案 1 :(得分:0)

[答案]:只要db确实重置了它的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