【问题标题】:ActiveAdmin display default view contentActiveAdmin 显示默认视图内容
【发布时间】:2012-07-22 06:09:25
【问题描述】:

我正在使用 ActiveAdmin,需要对某些视图进行自定义,并且遇到了一些我觉得我做错了的场景。

我正在向显示视图(帖子上的 cmets)添加一个附加表。这需要我重写整个属性表,然后添加我的面板。有没有办法在不丢失默认内容的情况下自定义视图?

我还想在显示视图上添加一个不需要自定义的关联项目表。有没有什么方法可以将通常在索引视图上的默认故事包含在默认操作和分页中?

【问题讨论】:

  • 这个问题缺少像提问者已经尝试过的现有代码这样的细节,最好打开一个新的
  • @Cristian:最好为此打开一个新问题,而不是编辑此人的问题。
  • @Ryan 我只添加了一个标签,否则我有完全相同的问题。

标签: ruby-on-rails ruby-on-rails-3 activeadmin


【解决方案1】:

在挖掘source code of Active Admin 之后,我找到了修补此问题的方法

  show do
    default_main_content
    panel "Your Added Stuff" do
      # Add stuff here
    end
  end

当然,这是未记录的,可能被认为是 hack,但除非存在任何其他解决方案,否则它可以工作。

注意:要在表单操作中执行此操作(新建和编辑):

  form do |f|
    f.inputs
    # Other inputs here

    f.actions
  end

【讨论】:

  • 这太棒了!但是,只有在插入非标准 输入 时,您的“新建和编辑”解决方法才有效。如果要添加 div 或段落标签怎么办?不幸的是,您将无法使用 ActiveAdmin DSL 执行此操作(据我所知)......但您可以通过 formtastic 插入任意 HTML。 Here's how.
【解决方案2】:

除了使用default_main_content,您还可以像这样遍历模型上的列:

ActiveAdmin.register Ad do
  show do
    attributes_table do
      default_attribute_table_rows.each do |field|
        row field
      end

      # Custom bits here

    end
  end
end

【讨论】:

    【解决方案3】:

    文档的几个方面可能会对您有所帮助:

    1. 请参阅Customize the Show PageCustomizing the Index PageCustomizing the FormCustom Pages。自定义显示屏幕的示例:

      ActiveAdmin.register Ad do
        show do |ad|
          default_main_content
          h3 ad.title
        end
      end
      
    2. 请参阅文档Custom Controller Actions 部分中的自定义操作项。一个例子:

      action_item :only => :show, :if => proc{ current_admin_user.super_admin? } do
           "Only display this to super admins on the show screen"
      end
      

    NB default_main_content 不再存在于文档中,但它工作正常。

    【讨论】:

    • 您在 show do ... 块中指定的任何内容都将替换 Active Admin 自动构建的所有默认操作。所以如果你只是想添加一个额外的字段,你就只能从头开始做整个页面......
    【解决方案4】:

    我自己想通了: 对于默认表索引页面,您可以执行以下操作

    index do
      h1 "Hello World"
      p "get more content"
    
      instance_eval(&default_table)
    end
    

    【讨论】:

      猜你喜欢
      • 2021-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-10
      • 2018-04-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多