Go Revel 削除とCsrfとRoute

Route

POST    /bookings/:id/cancel                    Hotels.CancelBooking
  • Rails気分で POST でなく DELETE にしても駄目(PUTはOKなのに何故!)

Csrf

うっかり導入すると、サンプル(booking)のコピペでは絶対動かない罠

        <form id="d{{.BookingId}}" method="POST" action="/bookings/{{.BookingId}}/cancel">
          <a href="javascript:document.getElementById('d{{.BookingId}}').submit();">Cancel</a>
        </form>

なので、JavaScriptへ委譲して、csrf_token付きでPOSTしてやると上手くいった。

おまけ

リクエストパラメータ

http://revel.github.io/manual/binding.html
Binding Parameters という項目で、Railsライクに取得出来る。