11

Railsアプリケーションで以下のコードを使用して、セッションに値を保存しようとしています

session[:key] = value 

そして、私は以下のエラーを受け取ります

TypeError (no _dump_data is defined for class Proc):
activesupport (3.2.9) lib/active_support/message_verifier.rb:53:in `dump'
 activesupport (3.2.9) lib/active_support/message_verifier.rb:53:in `generate'
 actionpack (3.2.9) lib/action_dispatch/middleware/cookies.rb:300:in `[]='
actionpack (3.2.9) lib/action_dispatch/middleware/session/cookie_store.rb:67:in    `set_cookie'
rack (1.4.1) lib/rack/session/abstract/id.rb:330:in `commit_session'
rack (1.4.1) lib/rack/session/abstract/id.rb:206:in `context'
rack (1.4.1) lib/rack/session/abstract/id.rb:200:in `call'
actionpack (3.2.9) lib/action_dispatch/middleware/cookies.rb:341:in `call'
activerecord (3.2.9) lib/active_record/query_cache.rb:64:in `call'
activerecord (3.2.9)    lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
actionpack (3.2.9) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
activesupport (3.2.9) lib/active_support/callbacks.rb:405:in `

どんな助けでも大歓迎です。

4

4 に答える 4

2

この値は何ですか? 複雑なオブジェクトですか?アクティブなレコード インスタンスでしょうか。

FourSquare クライアント オブジェクトをセッションに入れようとして同じ問題が発生しました。セッションから回復するのではなく、毎回新しいインスタンスを作成するように変更しましたが、問題なく動作しました。

于 2013-01-16T01:03:36.510 に答える