ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

PlayFrameworkでhelperのformを使ったときのmethodが変えられなくてワロタ

スポンサードリンク

f:id:aipacommander:20150222095455p:plain


最近はPlayFrameworkを使って開発しています。


本当に最近は濃い日々が続きます。なんせ、やることなすことみんな新しいですからね。


さて、PlayFrameworkで困ったことが発生しました。




helperの中にformクラスがありますが、これってmethodはどう指定するの? ってのがわからなかったのです。


色々情報をみましたが、皆スルーしちゃっているヨー!


困りました。が、ふと思い浮かんだことを試したらできました。


どうやら、routesでurlとコントローラの紐付け、またその通信で使用するmethodを指定しますが、どうやら「それ」がformのmethodになるらしいです。

  • TestController.java
public class TestController extends Controller {
	public static Result index() {
		return ok("index.");
	}

	public static Result add() {
		return ok("add.");
	}
}
@helper.form(action = routes.TestController.add()) {
〜 省略 〜
}
  • routes
GET /index/ controllers.TestController.index()
GET /add/   controllers.TestController.add()


こんな感じかな?


んで、これで実行すると

<form action="/add/" method="GET">


methodがGETで出力されます。


変更してみます。

  • routes
GET	/index/ controllers.TestController.index()
# さっきはGETだったけど、今度はPOSTで
POST /add/   controllers.TestController.add()


すると・・・

<form action="/add/" method="POST">

Fooooooooooooooooo!!!!!



以上です。