0

我在 Rails 的用户控制器中有以下代码,让用户删除自己:

def delete_account
User.find(params[:id]).destroy
flash[:success] = "Your account has been deleted."
redirect_to root_path
end

现在,我不确定如何将正确的路由添加到我的 route.rb 文件,然后将按钮正确添加到我的用户设置视图中。对于我的路由文件,我有以下代码:

match '/delete_account' to: 'users#delete_account'

在我的设置视图文件中,我有以下代码为视图中的 delete_account 操作添加一个按钮:

<%= link_to class: "btn btn-danger", delete_account_path %>\

在我看来,您可以在实施正确的路线和嵌入式红宝石方面提供任何帮助,我们将不胜感激。抱歉,如果这是一个容易修复的错误;我是一名初学者,这给我带来了一些麻烦。

4

1 回答 1

3

我认为最好使用 RESTful 方式。

将您的方法重命名为destroyin 控制器。

在您的 routes.rb 中,

resources :users或者match '/delete_account', to: 'users#destroy'

在视图中,比如在 show.html.erb 中,

<%= link_to 'Delete', @user, confirm: 'Are you sure?', method: :delete %>

很明显,您的show操作应该找到合适的用户,

@user = User.find(params[:id])

于 2012-07-01T18:44:15.457 回答