4

我有这个:

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

default_actions 方法应该创建显示、编辑和删除链接。它显示了它们,但删除链接只是指向显示操作的链接:

admin/users/1

规范说它应该创建一个删除链接。

不知道为什么这样做。所以我尝试了另一种方法:

 column "Delete" do |user|
   link_to "Delete", destroy_admin_user_path(user)
 end

我收到此错误:

undefined method `destroy_admin_user_path' for <div class="index_as_table"></div>:ActiveAdmin::Views::IndexAsTable

我什至尝试在路线中添加它:

match "/admin/users/:id/destroy(.:format) " => "admin/users#destroy"

仍然有同样的错误。

我将它包含在 application.html.haml 中:

        = javascript_include_tag :all

还是和上面一样的问题。

感谢您的回复

4

3 回答 3

11

这有点晚了,但您的链接不起作用的真正原因是您没有将 :method 放在链接中,而是使用了“destroy_admin_user_path”。

试试这个:

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

这对我有用,使用 ActiveAdmin。

于 2012-11-04T07:43:16.890 回答
4

我在更新 active_admin gem 时遇到了这个问题,所以我修复了它,重新生成了 active_admin 资产,现在销毁操作工作正常。

rails generate active_admin:assets
于 2012-06-02T13:34:57.490 回答
3

您是否检查过是否将完整的 rails.js 添加到 javascript 中?使用 firebug 检查链接并查看它是否具有 data-method 属性。还要检查 HTTP 标头并查看是否使用 DELETE 发出请求。

如果请求不是使用“DELETE”发出的,那么您的 javascripts 就有问题。检查 rails.js 的完整性和 jquery 集成。另外检查您的资产。

您能否提供有关您的 Rails 版本的更多详细信息?HTML源代码中包含的Javascripts?

尝试另一件事,转到 assets/javascripts/application.js 并添加

//= 需要 jquery

如果您正在运行 3.1,请到顶部

于 2011-09-13T05:50:36.693 回答