0

フォームの現在の状態をセッション ハッシュ (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 について聞いたことがありますが、それを忘れていました。誰かが私に方向を示すことができますか?

4

1 に答える 1