2014年7月15日火曜日

ネストされたルーティングとform_for

 サンプルコードにちょっと編集機能を付けてみようと思ったら大ハマり。
 ルーティングがこんなネストされた構成の場合に、projectモデルとtaskモデルに対するform_forは書式にだいぶ違いがあった。基本に違いは無いんでしょうけど、直感的でなくてわからなかった。
resources :projects do
  resources :tasks
end
 projectの方は、ごく入門書的なコードで動いた。
コントローラ
  def edit
  @project = Project.find(params[:id])
  end
ビュー
= form_for @project do |f|
 taskの方は、1時間くらいウトウトしながら考えてダメで、ググったらすぐ出てきた。すぐググれば良かった。ggrksとはよく言ったものです。
コントローラ
  def edit
    @project = Project.find(params[:id])
    @task = Task.find(params[:id])
  end
ビュー
= form_for [@project, @task] do |f|
 まだ全然カスの領域から踏み出せない。

参考:

0 件のコメント:

コメントを投稿