-1

ruby-1.9.3-p194
レール 3.0.9

フラッシュ変数 の奇妙な動作に遭遇しました。

私のコントローラー

class AdviceController < ApplicationController
    # POST /advice/save.js
    def save
        t = Logger.new(STDOUT)

        t.debug '+============================================'
        t.debug flash['advice-saving-error-msg']
        t.debug '+============================================'

        flash['advice-saving-error-msg'] = 'strange string'

        t.debug '============================================'
        t.debug flash['advice-saving-error-msg']
        t.debug '============================================'
    end
end

デバッグで 初めて保存アクションを確認すると、次のようになります。

+============================================
nil
+============================================
============================================
strange string
============================================

次にデバッグで表示されたときに保存アクションを尋ねると、!!!!!!!!!!!!:

+============================================
strange string
+============================================
============================================
strange string
============================================

それは私を夢中にさせます!どうして!!!

私は得ることを期待しています:

+============================================
nil
+============================================
============================================
strange string
============================================

Rails はアクション コールによってフラッシュ変数を保存するようです。
誰でも私を助けることができますか?

4

1 に答える 1

1

を使用しFlash.nowます。基本的なフラッシュは、次のアクションのためにそれを保存します。

于 2012-09-28T07:49:14.880 に答える