form_tagとform_forの引数がいつもごっちゃになってしまうのでメモっておきます。
form_tag
フォーマット
form_tag(url_for_options = {}, options = {}, *parameters_for_url, &block)
例
(2008/7/22修正しました)
form_tag { :controller => "user", :action => "update" }, { :method => :put } do # ... end
form_for
フォーマット
form_for(record_or_name_or_array, *args, &proc)
# ...
例
初期値を格納してあるオブジェクト名と、取得したいモデルオブジェクト名が一緒な場合はこう。
form_for :user, :url => { :action => "update" }, :html => { :method => :put } do |form| # ... end
初期値を格納してあるオブジェクト名と、取得したいモデルオブジェクト名が別な場合は、モデルオブジェクト名を第一引数、初期値が格納してあるオブジェクトを第二引数に指定する。
form_for :user, @hoge, :url => { :action => "update" }, :html => { :method => :put } do |form| # ... end