0

RailsのUsersコントローラーに次のコードがあり、ユーザーが自分自身を削除できるようにしています。

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 %>\

私の見解では、正しいルートと埋め込みRubyを実装するために提供できる支援をいただければ幸いです。これが簡単に修正できるエラーである場合は申し訳ありません。私は初心者の開発者ですが、これは私にいくつかの問題を与えています。

4

1 に答える 1

3

私はRESTfulな方法を使用する方が良いと思います。

メソッドの名前destroyをコントローラーでに変更します。

あなたの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 に答える