【问题标题】:Reset rails_admin field value重置 rails_admin 字段值
【发布时间】:2016-11-16 09:25:22
【问题描述】:

我想在我的仪表板上的列表视图中创建一个当前数字,而不是一个正确的数据库 ID 字段。为此,我使用来自rails_adminformatted_value。唯一的事情是,我想在表单呈现后重置该值,因为在我重新加载页面后,该 id 不断增加,并且永远不会回到 0。如何在 rails admin 的字段上重置 formatted_value .到目前为止,我没有太多运气尝试过:

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

【问题讨论】:

  • 我不清楚你在问什么。
  • @Зелёный 我现在已经用更多细节更新了这个问题。我只想在页面加载并显示所有这些条目后重置该字段
  • 您不能reset ruby​​ 变量 呈现表单。使用 javascript 来操作呈现的 html。
  • 你能提供一个例子来说明如何做到这一点吗?谢谢!
  • 用搜索,网上有很多例子。

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


【解决方案1】:

[已解决]

我将field :id 留在了初始化程序中并覆盖了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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多