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

    評論:
    # re: 深刻理解render 和 redirect_to 2013-01-07 09:12 | zyp731
    簡單,明了,好帖。  回復  更多評論
      
    已訪問數:
    free counters
    主站蜘蛛池模板: mm1313亚洲精品国产| 成人免费午夜在线观看| 免费人成视网站在线观看不卡| 国产精品高清视亚洲一区二区| 国产一卡2卡3卡4卡无卡免费视频| 亚洲另类自拍丝袜第1页| 99爱在线精品免费观看| 亚洲熟妇AV乱码在线观看| 成年性生交大片免费看| 欧美亚洲国产SUV| 免费国产怡红院在线观看| 一级中文字幕乱码免费| 亚洲精品无码成人AAA片| 国产精品视频白浆免费视频| 亚洲精品国产手机| 大地资源二在线观看免费高清| 国产精品亚洲专区无码WEB| 免费人成年轻人电影| a级特黄毛片免费观看| 亚洲国产超清无码专区| 在线jlzzjlzz免费播放| 无忧传媒视频免费观看入口| 狠狠亚洲婷婷综合色香五月排名 | 男人天堂免费视频| 久久精品国产亚洲AV网站| 成人免费福利视频| 亚洲成熟丰满熟妇高潮XXXXX| 国产亚洲精品不卡在线| 久久精品无码精品免费专区| 亚洲成电影在线观看青青| 在线免费观看一级片| 中文字幕免费在线看| 亚洲国产成人精品久久| 又粗又大又硬又爽的免费视频 | 国产av天堂亚洲国产av天堂| 久久精品免费一区二区| 黄色一级免费网站| 亚洲午夜精品一区二区| 免费看小12萝裸体视频国产| 91香蕉国产线观看免费全集| 国产在亚洲线视频观看|