有没有办法在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
有没有办法在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
通过使用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
示例如何使用操作列进行操作。在这个示例中,我只是重新实现了默认的列,但你可以在这里编写强大的代码:
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
item_path
应该类似于admin_itemname_path
,而edit_item_path
应该是edit_admin_itemname_path
。 - Nico BrennerArray.new.tap do |links| { links << link_to ... }.join(' ').html_safe
- danielricecodesdata: { confirm: '你确定吗?' }
- a.fahmiinactions defaults: false do |sample|
link_to t('active_admin.edit'), admin_sample_path(sample)
end
您可以更改链接标题和动作的路径。
例如:
actions defaults: false do |user|
link_to t('active_admin.view'), admin_user_path(user)
end
注意:
请记住正确添加路径,例如对于show
,应该是admin_user_path(:id)
,对于index
,应该是admin_users_path
:)
按照以下步骤进行操作:
ActiveAdmin.register Foobar do
actions :all, :except => [:destroy]
end
ActiveAdmin.register Foobar do
actions :only => :edit
end
如果您想要多个自定义操作,而不是像Ziv Barber那样手动处理链接的连接,您也可以使用item
方法,如下所示:
actions defaults: true do |user|
item "Report", report_admin_user_path(user), method: :put
item "Unlock", unlock_admin_user_path(user), method: :put
end
class: "member_link"
。https://stackoverflow.com/questions/45216947/inserting-a-space-after-appending-multiple-actions-in-activeadmin - undefined
:create
还是:new
?如果我使用actions :all, except: [:create]
,在编辑页面上仍然会有一个“新建”按钮。使用actions :all, except: [:new]
可以让按钮消失。 - spinlock