2016-11-16 66 views
0

我想在我的儀表板上的列表視圖中執行當前編號,而不是正確的數據庫標識字段。爲此,我從rails_admin使用formatted_value。唯一的是,我想在表單呈現後重置該值,因爲在我重新加載頁面後,該ID不斷遞增,並且永遠不會回到0.我如何在rails admin的字段中重置formatted_value。到目前爲止,我想這沒有多少運氣:重置rails_admin字段值

config/initializers/rails_admin.rb

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 
    currentId = 0 
+0

目前還不清楚我是什麼你問。 –

+0

@Зелёный我現在更新了更多的細節問題。我只是想在頁面加載並重新顯示所有這些條目時重置該字段 –

+0

您不能_reset_ ruby​​變量_after_表單被呈現後。使用JavaScript來操縱呈現的HTML。 –

回答

0

[解決]

我留在初始化的field :id和overrid app/views/rails_admin/main/index.html.haml with

%th.last.shrink 
    %tbody 
    - currentId = 1 
    - @objects.each do |object| 
     %tr{class: "#{@abstract_model.param_key}_row"} 
     %td 
      = check_box_tag "bulk_ids[]", object.id, false 
     - if @other_left_link ||= other_left && index_path(params.except('set').merge(params[:set].to_i != 1 ? {set: (params[:set].to_i - 1)} : {})) 
      %td.other.left= link_to "...", @other_left_link, class: 'pjax' 
     - properties.map{ |property| property.bind(:object, object) }.each do |property| 
      - if property.name.to_s == "id" 
      - value = currentId 
      - currentId += 1 
      - else 
      - value = property.pretty_value