ruby-on-rails ActiveAdmin操作

ycggw6v2  于 2023-05-02  发布在  Ruby
关注(0)|答案(5)|浏览(115)

有没有一种方法可以在模型的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
wpx232ag

wpx232ag1#

通过使用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
s4n0splo

s4n0splo2#

示例如何使用操作列。在这个例子中,我只是重新实现了默认的一个,但你可以在这里做强大的编码:

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
hs1rzwqc

hs1rzwqc3#

这样做

ActiveAdmin.register Foobar do
  actions :all, :except => [:destroy]
end

ActiveAdmin.register Foobar do
  actions :only => :edit
end

需要在资源级别而不是在方法定义中指定

anauzrmj

anauzrmj4#

根据源代码, www.example.com
如果一个人想改变的行动,在指数,他应该去与

actions 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:)

s71maibg

s71maibg5#

如果你想要多个自定义操作,而不是像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

相关问题