form_for での actionのurl指定

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

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

[ruby]
<%= form_for(@member) do |f| %>
<% end %>
[/ruby]

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

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

そこで、form_forのヘルパー関数では、urlを指定できるようだ。
[ruby]
<%= form_for(@member, :url => admin_members_path) do |f| %>
<% end %>
[/ruby]

すると動作する。

This entry was posted in Rails, Ruby, 技術情報. Bookmark the permalink.

コメントを残す

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