簡體   English   中英

ActiveAdmin 操作

[英]ActiveAdmin actions

有沒有辦法在模型的 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

這樣做,

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

或者

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

需要在資源級別而不是在方法定義中指定

根據源碼, 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

您可以在其中替換鏈接標題和操作路徑

例如:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM