可以将动作按钮添加到activeadmin上的仪表板表中吗?

问题描述 投票:7回答:2

我有这个代码在activeadmin仪表板上创建一个表:

columns do 
  column do
    panel "New Mentor's requests" do
      table_for User.where(mentor_request: true) do |t|
        t.column("Id") { |user| user.id }
        t.column("Name") { |user| user.account.full_name }
        t.column("Email") { |user| user.account.email }
        t.column("Organization") { |user| user.organization.name }

      end

    end
  end
end

有没有办法像其他资源一样添加“动作”?我的意思是“新的,编辑,删除”,但一个自定义的。

我尝试了“actions”标签,但是我得到了一个未定义的方法。

ruby activeadmin
2个回答
3
投票

table_for用于渲染对象的集合,这些对象可能不一定是ActiveRecord对象,因此动作方法不像index动作那样可用。但是,您应该能够使用以下内容呈现自己的操作:

column("View User") { |user| link_to "View", user_path(user) }

编辑对于多个链接,您可以使用Arbre的span标记包装link_tos:

column("View User") do |user|
  span link_to "View", "/mypath"
  span link_to "Edit", "/mypath"
  span link_to "Delete", "/mypath"
end

我正在使用ActiveAdmin 1.0.0.pre2 w / arbre 1.0.2,我没有在早期版本上尝试过。


1
投票

你也可以试试这个:

ActiveAdmin.register Foo do
  actions :all
  index do
    column :name
    actions defaults: true do |foo|
      link_to "Custom ACTION", custom_action_path(foo.id)
    end
  end
end

我有更多的选择,而不是已经定义的选项:查看,编辑,删除

资料来源:https://github.com/activeadmin/activeadmin/issues/53

© www.soinside.com 2019 - 2024. All rights reserved.