<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://m.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 閱讀(1500) 評論(1)  編輯  收藏 所屬分類: Rails

    評論:
    # re: 深刻理解render 和 redirect_to 2013-01-07 09:12 | zyp731
    簡單,明了,好帖。  回復  更多評論
      
    已訪問數:
    free counters
    主站蜘蛛池模板: 亚洲色成人WWW永久网站| 亚洲国产成人久久一区久久 | 三年片在线观看免费观看大全一 | 一二三四在线播放免费观看中文版视频 | 亚洲日韩国产一区二区三区在线| 精品香蕉在线观看免费| A国产一区二区免费入口| 亚洲一区二区视频在线观看| 一级毛片免费播放试看60分钟| 日批日出水久久亚洲精品tv| 国产性爱在线观看亚洲黄色一级片 | 久久久久国色AV免费看图片 | 亚洲国产中文在线视频| 一个人免费观看视频www| 亚洲国产精品嫩草影院| 国产极品粉嫩泬免费观看| 国产亚洲精品欧洲在线观看| 国产免费无遮挡精品视频| 一级特黄录像免费播放中文版| 久久精品亚洲男人的天堂| 国产成人免费AV在线播放 | 亚洲高清有码中文字| 永久免费bbbbbb视频| 污污免费在线观看| 伊人久久亚洲综合| 一级毛片免费毛片一级毛片免费| 亚洲黄色在线电影| 永久免费视频v片www| 人体大胆做受免费视频| 日韩人妻无码免费视频一区二区三区| 苍井空亚洲精品AA片在线播放| 亚洲精品高清在线| 久久国产免费一区| 亚洲男人天堂2018av| 四虎精品亚洲一区二区三区| 日韩精品无码免费专区午夜 | 美女黄色毛片免费看| 久久亚洲精品成人777大小说| 青青视频观看免费99| 青青青视频免费观看| 亚洲视屏在线观看|