[前][次][番号順一覧][スレッド一覧]

rails:1222

From: Nobuhiro IMAI <nov@y...>
Date: Fri, 02 Jun 2006 18:08:41 +0900 (JST)
Subject: [rails:1222] Re: 破棄、destroyできない

いまいです。

From: "Hiroyuki Tsutsumi" <h.tsutsumi_at_gmail.com>
Date: Fri, 2 Jun 2006 16:59:20 +0900

> 本だと
> <%= link_to '破棄', { :action => 'destroy', :id => product },
>                              :confirm => "本当に破棄しますか?" %>
> となっており、ブラウザで「破棄」を選択しても、削除されませんでした。
> 
> で、scaffoldで生成されたlist.rhtmlをみると
> <td><%= link_to 'Destroy', { :action => 'destroy', :id => product },
> :confirm => 'Are you sure?', :post => true %></td>
> 
> となっており、下記のように「:post => true」を追加することで、動くようになりました。
> 
> <%= link_to '破棄', { :action => 'destroy', :id => product },
>                              :confirm => "本当に破棄しますか?", :post => true %>
> 
> そこで、質問ですが、
> ・本のコードで動かないのはバージョンの違いによるものなのでしょうか?

バージョンの違い、だと思います。*_controller.rb の上の方に、

  # GETs should be safe (see http://www.w3.org/2001/tag/doc/whenToUseGet.html)
  verify :method => :post, :only => [ :destroy, :create, :update ],
         :redirect_to => { :action => :list }

みたいなコードがありませんか?:destroy, :create, :update は POST の場
合のみ処理されるようになっています。それ以外のメソッドでアクセスする
と、:redirect_to => { :action => :list } されます。


> ・「:post => true」 で動くようになったのは、どうしてでしょうか?

このオプションにより、リンクの外側に form を追加して、(無理矢理 ;)
POST で送信するようになるからです。


> ・link_to のメソッドの仕様を調べる方法を教えてください

actionpack/lib/action_view/helpers/url_helper.rb を読む、でしょうか。
上の挙動も、post_javascript_function メソッドを見ればイメージが湧くと
思います。
--
Nobuhiro IMAI <nov@y...>
Key fingerprint = F39E D552 545D 7C64 D690  F644 5A15 746C BD8E 7106

--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

   @  1221 2006-06-02 09:59 [h.tsutsumi@g...     ] 破棄、destroyできない                   
->    1222 2006-06-02 11:08 ┗[nov@y...            ]                                       
   @  1226 2006-06-05 03:37  ┗[h.tsutsumi@g...     ]                                     
      1227 2006-06-05 04:08   ┗[suzk@o...           ]                                   
      1228 2006-06-05 04:14    ┣[kazuhiko@f...       ]                                 
   @  1229 2006-06-05 07:18    ┗[h.tsutsumi@g...     ]