<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    MDA/MDD/TDD/DDD/DDDDDDD
    posts - 536, comments - 111, trackbacks - 0, articles - 0
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    rails事務

    Posted on 2010-02-14 01:04 leekiang 閱讀(844) 評論(0)  編輯  收藏 所屬分類: ruby
    1,around_filter進行action的自動事務處理
    在controller里面可以使用around_filter來進行action的包裝,當action中彈出異常的時候渲染一個特殊的出錯 頁面。將action代碼包裝在ActiveRecord::Base.transaction函數的block中執行,當引發異常后截獲并重新拋出一個 ActiveRecord::Rollback異常讓rails將數據回滾掉。ActiveRecord::Base.transaction對 ActiveRecord::Rollback異常處理后不會再將該異常往外面拋。

    around_filter :around_action_filter
    protected
    def transaction
    ret = true
    ActiveRecord::Base.transaction do
    begin
    yield if block_given?
    rescue Exception => ex
    set_notice(ex.message)
    ret = ex.message
    raise ActiveRecord::Rollback, ex.message
    end
    end
    return ret
    end
    def around_action_filter
    return yield if request.get?
    redirect_to(:controller => "error_display", :action => "error_notice") if?
    transaction { yield if block_given? } != true
    end

    這里的transaction函數可以用在action里面作為手動事務處理的解決辦法。
    http://www.cgpad.com/SPAN/articles_show/940
    主站蜘蛛池模板: 一二三四在线播放免费观看中文版视频 | 丰满妇女做a级毛片免费观看 | 伊人免费在线观看| 亚洲人成色在线观看| 一级毛片a女人刺激视频免费| 亚洲精品视频免费看| 黑人大战亚洲人精品一区| 拔擦拔擦8x华人免费久久| 亚洲美女免费视频| 久久免费精品一区二区| 一级女性全黄生活片免费看| 亚洲.国产.欧美一区二区三区| 亚洲性无码av在线| 亚洲一区二区三区电影| 亚洲人精品午夜射精日韩| 亚洲综合色在线观看亚洲| 国产又大又黑又粗免费视频 | 亚洲午夜一区二区三区| 亚洲国产人成在线观看69网站| 中文亚洲AV片不卡在线观看| 亚洲第一区在线观看| 国产无遮挡裸体免费视频| 成人a视频片在线观看免费| 大学生一级毛片免费看| 日本人的色道免费网站| 亚洲视频免费在线播放| 在线免费观看国产| 2022久久国产精品免费热麻豆| 91精品国产免费久久国语麻豆| 另类免费视频一区二区在线观看 | 综合久久久久久中文字幕亚洲国产国产综合一区首 | 热99RE久久精品这里都是精品免费| 欧洲美女大片免费播放器视频| 无套内射无矿码免费看黄 | 亚洲人成影院在线无码观看| 国产一级理论免费版| 日本一道本高清免费| 日韩免费视频观看| 全部免费毛片在线| 亚洲人成人网站在线观看| 亚洲JIZZJIZZ中国少妇中文|