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

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

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

    隨筆-167  評論-65  文章-0  trackbacks-0

    由于最近老是在表單提交后出現沒有反應的現象,發現是在action中的使用render redirect_to的原因,于是就想搞清楚他兩真正的區別在哪里,上一遍的blog也談到了這二者的區別,但是有點淺,

    http://www.tkk7.com/fl1429/archive/2009/03/10/258886.html

    下面從我們的程序實驗開始:

    1,建立controller

    test_controller.rb

    class TestController < ApplicationController

    def test1
    puts 
    "test1A"
    render :action 
    => "test1"
    puts 
    "test1B"
    end

    def test2
      puts 
    "test2A"
      redirect_to  :action 
    => "test1"
    puts 
    "test2B"
    end

    def test3
     puts 
    "test3A"
     redirect_to  :action 
    => "test3"
      puts 
    "test3B"
    end

    end
     

    2,建立view

    在對應的views->test目錄下有test1.rhtml,test2.rhtml,test3.rhtml,內容隨便寫,例如內容都為 hello word

    3,啟動webrick

    到相應的目錄下Ruby script/server

    4,瀏覽器中瀏覽頁面

    (1)頁面test1.rhtml: http://localhost:3000/test/test1

    瀏覽器中直接輸入地址結果是:

    可能是:

    1test1A 
    2test1B
    3 127.0.0.1 - - [12/Mar/2009:18:10:11 中國標準時間] "GET /test/test1 HTTP/1.1" 304 0 - -> /test/test1 
     

    也可能是:

    1127.0.0.1 - - [12/Mar/2009:18:29:50 中國標準時間] "GET /test/test1 HTTP/1.1" 304 0 - -> /test/test1 
    2test1A
    3test1B 

     

    (2)頁面: test2.rhtml http://localhost:3000/test/test2

    結果:

    1test2A 
    2test2B 
    3127.0.0.1 - - [12/Mar/2009:18:11:10 中國標準時間] "GET /test/test2 HTTP/1.1" 302 98 - -> /test/test2 127.0.0.1 - - [12/Mar/2009:18:11:10 中國標準時間] "GET /test/test1 HTTP/1.1" 304 0 - -> /test/test1
    4test1A 
    5test1B 

      還可以發現最后,瀏覽器的地址的變為: http://localhost:3000/test/test1

     

    (3)頁面test3.rhtml  http://localhost:3000/test/test3

    1test3A 
    2test3B 
    3127.0.0.1 - - [12/Mar/2009:18:12:29 中國標準時間] "GET /test/test3 HTTP/1.1" 302 98 - -> /test/test3 
    4test3A 
    5test3B 
    6127.0.0.1 - - [12/Mar/2009:18:12:29 中國標準時間] "GET /test/test3 HTTP/1.1" 302 98 - -> /test/test3

     

    執行效果是死循環.

    由上述實驗得到結論:

    1,無論是render 還是 redirect_to 都是方法體內的內容全部執行完再跳轉,就算跳轉了,方法體內的還是會全部執行的

    2,render 是跳轉到對應的viewrhtml

    3,redirect_to 是跳轉到對應的 action ,所以頁面三執行的效果死循環!







    write by feng
    posted on 2009-03-12 18:48 fl1429 閱讀(1505) 評論(1)  編輯  收藏 所屬分類: Rails

    評論:
    # re: 深刻理解render 和 redirect_to 2013-01-07 09:12 | zyp731
    簡單,明了,好帖。  回復  更多評論
      
    已訪問數:
    free counters
    主站蜘蛛池模板: 精品无码无人网站免费视频| 国产成人精品免费大全| 久久99国产综合精品免费| 国产av无码专区亚洲av桃花庵| 一级毛片免费在线| 亚洲午夜福利精品久久| 老司机免费午夜精品视频| 国产一区二区免费在线| 美女黄色免费网站| 亚洲AV蜜桃永久无码精品| 大学生a级毛片免费观看 | 久久精品国产亚洲一区二区| 一区二区三区免费电影| 亚洲综合熟女久久久30p| a级日本高清免费看| 久久亚洲精品无码AV红樱桃| 免费的黄网站男人的天堂| 亚洲国产成人爱av在线播放| 国产福利免费视频| 亚洲成在人天堂在线| 18女人毛片水真多免费| 在线亚洲午夜片AV大片| 大学生美女毛片免费视频| 成人国产网站v片免费观看| 亚洲人成图片小说网站| 91青青国产在线观看免费| 亚洲综合精品伊人久久| 亚洲AV伊人久久青青草原| 四虎影视无码永久免费| 亚洲另类古典武侠| 国产成人精品免费直播| a级毛片毛片免费观看久潮| 亚洲日本国产精华液| 四虎永久免费观看| 日本xxxx色视频在线观看免费| 色婷五月综激情亚洲综合| 亚洲伊人成无码综合网| 1000部拍拍拍18免费网站| 黄色免费网址大全| 亚洲av成人无码久久精品| 午夜一级免费视频|