form_for での actionのurl指定

2012年7月18日 Posted by PURGE

以前の記事で、http://www.whoocus.com/blog/?p=622階層をつけた場合に、別のことでハマったので覚書。

デフォルトの記述で、下記のようにフォームを指定すると、テンプレートエラーとなってしまう。

<%= form_for(@member) do |f| %>
<% end %>
ActionView::Template::Error (undefined method `members_path' for #<#<Class:0x00000103e5c7f8>:0x00000103e2de08>):
    1: <%= form_for(@member) do |f| %>
    2: 
    3: <% end %>

modelの階層も変わった為に当然 members_path が返されて、未知のメソッドだと怒られる。

そこで、form_forのヘルパー関数では、urlを指定できるようだ。

<%= form_for(@member, :url => admin_members_path) do |f| %>
<% end %>

すると動作する。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です