コントローラとビューでセッションを使ってやりとり

  • リンクを作成する。
<%= link_to t("link.New_note"), {:controller => "notes", :action => "new", :id =>@item.id} %>
  • リンクをクリックするとコントローラにidが渡されるので、それをセッションに格納する。
# 渡されたIDを格納する
session[:item_id] = params[:id]
  • 格納したitem_idを次のビューで呼び出してみる
<%= submit_tag t("button.Cancel"), {:type => "button", :onClick=>"parent.location="" + url_for(:controller =>
"items", :action => "edit", :id => session[:item_id] ) + """ } %>

「キャンセルボタンを押したら呼び出し元のフォームへ戻りたい」という用途などに多用するかな。