1

次のようなセッションオブジェクトにあるハッシュにオブジェクトを保存しています:

    hash_key = ImportantData.new
    hash_key.test_id = params[:test_id]
    hash_key.user_id = params[:user_id]

    session[:important_data] ||= {}
    session[:important_data][hash_key] = nil

そして、このマップsession[:important_data][hash_key]を他のコントローラーで印刷し、オブジェクトがそこにあるかどうかを次のように確認しようとします:

hash_key = ImportantData.new
hash_key.schedule_id = @test.id
hash_key.user_id = @user.id

in_hash = session[:important_data].has_key?(hash_key) unless session[:important_data].nil?

in_hash私はいつも間違っています、私は何を間違っていますか? これを行うためのより良い方法はありますか?

4

2 に答える 2

0

このように割り当てればいいと思います

session[:important_data][:hash_key] = hash_key

そしてそれにアクセスする

session[:important_data][:hash_key]
于 2013-04-09T08:36:22.253 に答える