有没有办法在ActiveAdmin的模型索引页面中指定允许的操作,例如:
index do
actions :edit
end
index do
actions only: :edit
end
不行。什么是正确的语法?
赞赏。
bundle show activeadmin
/home/muichkine/.rvm/gems/ruby-2.1.2/bundler/gems/active_admin-9cfc45330e5a
答案 0 :(得分:24)
使用actions
添加您想要提供的任何操作(通常放在模型定义下):
ActiveAdmin.register YourModel do
actions :index, :show, :create, :edit, :update
如果要为特定操作指定方法,可以执行
action_item only: :show do
link_to 'Edit', action: :edit # so link will only be available on show action
end
答案 1 :(得分:2)
这样做,
ActiveAdmin.register Foobar do
actions :all, :except => [:destroy]
end
或
ActiveAdmin.register Foobar do
actions :only => :edit
end
需要在资源级别指定,而不是在方法定义中指定
答案 2 :(得分:2)
如何使用操作列的示例。在这个例子中,我只是重新实现了默认的,但你可以在这里进行强大的编码:
column :actions do |item|
links = []
links << link_to('Show', item_path(item))
links << link_to('Edit', edit_item_path(item))
links << link_to('Delete', item_path(item), method: :delete, confirm: 'Are you sure?')
links.join(' ').html_safe
end
答案 3 :(得分:1)
根据源代码https://github.com/activeadmin/activeadmin/blob/master/lib/active_admin/views/index_as_table.rb#L80
如果想要更改索引中的操作,他应该使用
actions defaults: false do |sample|
link_to t('active_admin.edit'), admin_sample_path(sample)
end
他可以替换链接标题和操作路径