singleton can't be dumped

で、次のアクションにまでだけ渡したいのは、メッセージだけじゃなく保存される前のモデルのattributesなんかもあります。で、attributesをflashに格納すると、'singleton can't be dumped' という例外が発生することもあります。
それは、BLOBなどのカラムにデータを入れるために、ファイルアップロードを行うときです。

flash[:attrs] = obj.attributes

とかしちゃうと、flashは実際にはセッション上のオブジェクトなので、セッションをpstoreがファイルに書きだそうとする際に、件の例外が発生します。StringIOオブジェクトはdumpできねーよ!って言われているような気がしますが、真偽の程は定かではありません。ま、とにかく、セッション(flash)にattributesを突っ込むときは気をつけましょう。