2016-11-15 64 views
0

我使用的是rails_admin gem,而不是从数据库中的实际id字段,我只想使用当前数字,以便管理员不会看到我的实际id是什么D b。到目前为止,我尝试过:将值赋给rails_admin列表字段

# 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。有什么建议么?

回答

0

[答]:只要分贝不复位它的值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 

如果数据库不断递增该值,比当前用户必须作为绑定传递,并且可以在主列表视图中轻松调整id_admin

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 
    

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

+0

谢谢,但它比这更容易。请在下面检查我的答案! –

+0

这没有奏效。请检查我的评论 –