在rails中的activeadmin中的default_actions不会使"删除"按钮创建销毁链接

Joh*_*ino 3 routes ruby-on-rails activeadmin

我有这个:

ActiveAdmin.register User do
  index do
    column :email
        column :name
    column :role
    column "Last Sign In", :last_sign_in_at
        column :account
        column "Units" do |user|
            user.units.count.to_s
        end
    default_actions
end
Run Code Online (Sandbox Code Playgroud)

default_actions方法应创建显示,编辑和删除链接.它显示了它们,但删除链接只是show动作的链接:

admin/users/1
Run Code Online (Sandbox Code Playgroud)

规格说它应该创建一个删除链接.

不知道为什么会那样做.所以我尝试了另一种选择:

 column "Delete" do |user|
   link_to "Delete", destroy_admin_user_path(user)
 end
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

undefined method `destroy_admin_user_path' for <div class="index_as_table"></div>:ActiveAdmin::Views::IndexAsTable
Run Code Online (Sandbox Code Playgroud)

我甚至尝试在路线中添加这个:

match "/admin/users/:id/destroy(.:format) " => "admin/users#destroy"
Run Code Online (Sandbox Code Playgroud)

还是有同样的错误.

我在application.html.haml中包含了这个:

        = javascript_include_tag :all
Run Code Online (Sandbox Code Playgroud)

还有与上述相同的问题.

谢谢你的回复

小智 8

这有点晚了但是你的链接无法正常工作的真正原因是因为你没有在你的链接中放入:method而是使用了"destroy_admin_user_path".

试试这个:

link_to "Delete", admin_user_path(user), :method => :delete, :data => {:confirm => "Are you sure?"}
Run Code Online (Sandbox Code Playgroud)

这对我来说适用于ActiveAdmin.