从数据库中删除用户(Ruby on Rails,Devise)

时间:2017-02-28 19:44:37

标签: ruby-on-rails ruby ruby-on-rails-3 devise

我尝试创建一个按钮以从数据库中删除用户。

路线中,我有:

  devise_for :users, :controllers => { registrations: 'registrations' }
  match 'users/:id' => 'registrations#destroy', :via => :delete, :as => :admin_destroy_user

registration_controller

def destroy
    @user = User.find(params[:id])
    if @user.destroy
      redirect_to root_path
    end
end

_backoffice.html.erb 档案:

<%= button_to 'Delete', admin_destroy_user_path(user.id), :class => 'btn btn-danger btn-sm', :method => :delete, data: {:confirm => 'Tem a certeza que quer apagar este utilizador?'} %>

这是我得到的错误:

RegistrationsController#destroy中的NoMethodError

未定义的方法`name&#39;为零:NilClass

  def resource_name
    devise_mapping.name
  end
  alias :scope_name :resource_name

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

该错误表示RegistrationsController中没有名为registration_controller的方法。但在您的帖子中,您将此控制器引用为:systemctl restart httpd.service (即没有“s”)

也许你已经将RegistrationController定义为单数,而不是复数?