1

私はこのようなものを視野に入れています:

<% if actions.include? "delete" %>
 <%= link_to 'Usuń', asset_path(asset), :method => :delete, :data => { :confirm =>   "Want to delete it?" }, :role => "link" %>
 <% end %>

そしてこれはassetcontrollerで:

def destroy

@asset = current_user.assets.find(params[:id])
@asset.destroy
redirect_to assets_path

end

問題は、ビュー内のアクションが「削除」の場合に、なぜ destroy メソッドを「使用」するのかということです。

4

2 に答える 2

1

deleteHTTPプロトコルのメソッドです。destroyactionあなたのcontrollerです。アクションdeleteにつながる HTTP メソッドでルーティングしdestroyます。

このルートを編集し、deleteHTTP メソッドがアクションにつながるようにするにdeleteは (たとえば、config/routes.rbファイルを編集する必要があります)。

于 2013-06-25T10:53:33.113 に答える
1

これは、routes.rb ファイルでモデルをリソース (または scaffold のようなジェネレーター) として定義したためです。これは、デフォルトの CRUD ルートが生成されることを意味します。別の方法で行いたい場合は、ルートを生成する代わりに独自のルートを使用してください。

http://guides.rubyonrails.org/routing.html#crud-verbs-and-actions

于 2013-06-25T11:01:43.907 に答える