7

form_for次のようなことをするときにメソッドに何が渡されるかを理解しています:

<% form_for(@user) do |f| %> ... <% end %>

@userコントローラーに設定されている場合。これは明らかです。

:userしかし、多くの例で見たように、パスするとどうなるでしょうか?

<% form_for(:user) do |f| %> ... <% end %>

シンボル バージョンはいつ使用する必要がありますか?

4

1 に答える 1

8

シンボルを使用すると、次が生成されます。

<form action="/users" method="post">

オブジェクト @user を new に設定すると、次のようになります。

<form action="/users" class="new_user" id="new_user" method="post">

@user を別のものに設定すると、もちろん、生成されるフォームタグが変更されます...自分で試してみてください。

結局のところ、それはあなたが何をしようとしているのかにかかっています。同じページに複数の :user フォームがある場合は、シンボルを使用することをお勧めします。

于 2010-01-05T13:47:29.463 に答える