0

必ず削除するかどうかを尋ねる確認メッセージが表示されますが、プレーヤーはそこに留まります。

これがコントローラーのdestroyメソッドです

  def destroy
    Player.find(params[:id]).destroy
    redirect_to :action => 'index'
   end

これが私の削除リンクです

<ul>
<% @players.each do |p| %>
<li>
    <%= link_to p.name, {:action => 'show', :id => p.id} -%> email:<%= p.email %> 
    <%= link_to 'edit', {:action => "edit",
        :id => p.id} %> 
    <%= link_to "Delete", {:action => 'destroy' ,:id => p.id}, :confirm => "Are you sure you want to delete this item?" %></li>
<% end %>
</ul>
<p><%= link_to "Add new player", {:action => 'new' }%></p>

これがログです

Started GET "/players" for 127.0.0.1 at 2013-03-25 15:30:55 +0200
Processing by PlayersController#index as HTML
  Player Load (0.1ms)  SELECT "players".* FROM "players" 
  Rendered players/index.html.erb within layouts/application (1.0ms)
Completed 200 OK in 46ms (Views: 45.3ms | ActiveRecord: 0.1ms)
[2013-03-25 15:30:55] WARN  Could not determine content-length of response body. Set content-length of the response or set Response#chunked = true
4

5 に答える 5

2

method: 'delete'デフォルトではリンクはですので、指定する必要がありますmethod: 'get'

Railsルーターはそれを認識しdelete、それに応じて動作します

于 2013-03-25T07:20:24.163 に答える
0

あなたのプレーヤーはと呼ばれdetroyます。構文エラーが発生しませんか?あなたは開発モードではありませんか?

def destroy
  Player.find(params[:id]).destroy
  redirect_to :action => 'index'
end

メソッドを修正してください。

于 2013-03-25T07:17:43.387 に答える
0

次のように、削除ボタンのlink_toをフォーマットすることをお勧めします。

<%= link_to "Delete", path_for_delete_action(c), :method => :delete,
    :confirm => "Are you sure you want to delete this item?" %>

または、現在の実装でコントローラーメソッドを指定するだけです。

于 2013-03-25T07:21:10.210 に答える
0

2つの問題:

  • destroyコントローラのスペルを間違えました。
  • method: :deleteに追加する必要がありますlink_to
于 2013-03-25T07:22:36.183 に答える
0

HTTPメソッドを指定します。削除メソッドを定義する必要はありません。

これはHTTPDELETEメソッドであり、rubyメソッドではありません。

<%= link_to "Delete", {:action => 'destroy', :id => c.id, :method => :delete}, 
        :confirm => "Are you sure you want to delete this item?" %>

私はその特定の構文を使用しないので、それが機能しない場合は、これを試してください:

<%= link_to "Delete", player_url(c), :method => :delete,
        :confirm => "Are you sure you want to delete this item?" %>
于 2013-03-25T08:21:10.703 に答える