[英]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.