我有这个代码在activeadmin Dashboard上创建一个表:
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”标记,但是我得到了一个未定义的方法。
答案 0 :(得分:3)
table_for
用于呈现可能不一定是ActiveRecord对象的对象集合,因此操作方法不像index
操作中那样可用。但是,您应该可以使用以下内容呈现自己的操作:
column("View User") { |user| link_to "View", user_path(user) }
编辑对于多个链接,您可以使用Arbre的span标记包裹link_to
:
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 :(得分: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
对我来说,更多选项比已经定义的更多选项:查看,编辑,删除