calendar_helperにformを入れる。
calendar_helperの日付の中にformを入れる。
カレンダーのセル内にテキストを挿入したい場合、
cell_text << hoge
といった具合にして使う。
これがまた曲者で,form_forやform_tagが使えない。
cell_text << form_tag(~~~~) do
とした場合、cell_text で"do"を受け付けてくれないのか、
構文エラーになってしまう。form_forも同様。
試行錯誤して色々な組み合わせでdoを読み込ませようとしたが失敗。
次の方法としてcell_textの外側、つまりカレンダーテーブルの上にformをつくり、カレンダー内の各セルのsubmitにnameを付け、それを識別させてパラメータを取得するように方針変更。
cell_text << submit_tag('New', :name => hoge)
view側でsubmitに識別を持たせる。
unless params[:hoge].nil?
controller側でちゃんと送信されたか判定。
これもうまく行ったように思えたが、何故かかならず最後にあるsubmitボタンのnameを取得してしまう。テーブルの外にform作るのって無理だっけ?
この辺はhtmlの知識だな〜。これも解決策が見つからず。
他の解決策が浮かばないので、悔しいが静的にformタグを挿入。
たぶんパス設定すれば動的にできるから、これでもいいっちゃいいか。
あと静的に入れた場合、railsはInvalidAuthenticityTokenエラーを出すようになっているので、controllerに許可したいメソッドを
class hogeController < ApplicationController skip_before_filter :verify_authenticity_token, :only => :hoge
と記述して、これを回避。