Rails4.x で simple_formを使って、create(登録)とupdate(編集)で同じformを使う際の注意
simple_formを使っています。
同じformを使ってcreateとupdateをすることが多いと思います。
症状
updateを叩いたつもりが、こんなエラーに出くわしました。
Routing Error No route matches [PATCH] “/hoge"
ちなみにroutingは
POST /hoge(.:format) hoge#create PATCH /hoge/:id(.:format) hoge#update
当然両者で異なるわけですが、url的にはcreateの方を見ている?
#原因
<%= simple_form_for(@hoge, :url => hoges_path, :html => {:id => 'hoge_form', :multiport => true}) do |f| %>
このurlがダメです。
なので、
<%= simple_form_for(@hoge, :html => {:id => 'hoge_form', :multiport => true}) do |f| %>
削除して解決!