フォームの現在の状態をセッション ハッシュ (ajax を使用) に保存し、ページの更新後にブラウザー ウィンドウを再度開いて再表示しようとしています。
def save
session[:last_order] = params.dup
end
def new
@last_state = session[:last_order] || {}
...
end
それは簡単な部分でした。
new
問題は、アクションでフォームを表示するときに@last_state
空のハッシュになる可能性があるため、フォームタグの作成ごとにキーの存在を確認せずにフォームタグを処理するにはどうすればよいですか?
<%= radio_button_tag 'product_id', product.id, @last_state.has_key? 'product_id' && @last_state['product_id'] == product.id %>
次のような単純な行を書きたいだけです。
<%= radio_button_tag 'product_id', product.id, @last_state['product_id'] == product.id %>
またはさらに良い:
<%= radio_button_tag 'product_id', product.id, @last_state.product_id == product.id %>
二次的な質問: ハッシュをオブジェクトのように扱う Rails-way について聞いたことがありますが、それを忘れていました。誰かが私に方向を示すことができますか?