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#L8
インデックスのアクションを変更したい場合は、
actions defaults: false do |sample|
link_to t('active_admin.edit'), admin_sample_path(sample)
end
リンクのタイトルとアクションのパスを置き換えることができます