dev-hsimyu

おれが作ったものとかについて紹介したりするブログ

symfony1.4でモデルフォームを使う場合に、POSTとして判定できない

【広告】

モデルフォームに関連付けられたオブジェクトが既にDB上にある場合は、sf_methodが自動的にputになるようhiddenタグが埋め込まれる為、

public function executeJinbabue(sfWebRequest $request)

という風に引数を受けた場合、

$request->isMethod('post') # -> false
$request->isMethod('put') # -> true

になる。

public function executeJinbabue($request)

ならpostのままで良い?と思ってたけど、どうやら絶対にsfWebRequestオブジェクトになるっぽいので公式チュートリアルがisMethod('post')で判定してるのがクソという結論になりました。

1.4系まではこうなってるっぽいけど、2.0でどうなってるのかは今試せない為不明。