link to和頁面跳轉

2021-06-09 12:05:01 字數 1964 閱讀 5974

《ruby on rails,通過建立頁面導航鏈結實現頁面跳轉》中,我們了解到如何通過link_to(text,target)方法在templates中定義連線。其中引數target以填入了兩個最終要的引數,controller和action。如果有乙個分頁顯示的列表,我們希望希望檢視其中的第3頁,這個資訊如何傳遞至controller,controller又如何訪問傳遞過來的資訊呢?以這個連線為例

這是標準的html引數格式,問號後面通過&分割的是引數名/值對,其中等號前面的page和per_page是希望傳遞引數名,等號後面是引數的值。我們需要做的就是向建立連線引數的方法中傳入這些資訊,很簡單只要按照名/值對的形式加入到引數列表中即可。

當rails建連線時,按照順序檢視各個引數的值。首先檢視指向的controller的名字用「controller」表示,如果沒有指定則預設為當前頁面對應的controller。action名字用「action」表示,如果沒有定義action名字,則預設為當前頁面對應的action。id也作為標準引數的一部分使用「id」表示,之外的就是附加的引數。所有這些都會被放入params列表中,後面的程式就從params中獲取從link中攜帶過來的資訊。
先向template裡的link中傳入引數資訊。

hello page!p>

開啟頁面可以看到,當滑鼠懸停在鏈結上方時瀏覽器提示鏈結指向的url就是我們想要的一致。

接下來是如何獲取鏈結中的引數。從view和controller中都可以得到引數值,但一般來說這些值是由controller讀取的。

看看如何在templates中讀取引數方法如下

瀏覽器的位址列中顯示鏈結的url,頁面上顯示了從params中讀取到的內容。

在controller中讀取引數存到例項變數中,template可以通過例項變數獲取資料並根據這些資料進行計算。

def index

@per_page=params[:per_page]

@page=params[:page]

@[email protected]_i+1

endend

template稍作修改,不直接從params中讀取而是從controller的例項變數中讀取,因為實際應用中這些資料將是經過計算的結果值。
index page!p>

最後,還有乙個比較好的除錯手段分享一下,就是通過增加列印來檢視params中的值

<

h1>demo#index

h1>

<

p>index page!

p>

perpage:

br>

page:

br>

nexe page:

br>

>

<

hr/>

params.inspect方法會列印出其中所有內容以便檢視。

頁面跳轉和巢狀

開發工具與關鍵技術 vs js 當我們瀏覽網頁的時候肯定會遇到頁面的跳轉,例如我們用電腦瀏覽頁面的時候,如果細心去留意,你會發現頁面跳轉是有幾種不同效果的。那麼頁面的跳轉功能是怎麼實現的呢?這裡我準備了頁面一 page1 和頁面二 page2 兩個頁面。給頁面一繫結頁面跳轉事件。1 從頁面一跳轉到頁...

uni app頁面配置和跳轉

參考 路徑 pages personal hand hand 點選某個專業隊時需要實現直接切換賬戶並登陸成功跳轉到首頁 pages project maintenance duty manage duty preview 跳轉時使用 使用瀏覽器執行會報錯 需換用 關閉當前頁面,跳轉到應用內的某個頁面...

Jsp頁面跳轉和js控制頁面跳轉的幾種方法

jsp 頁面跳轉的幾種方法 1.requestdispatcher.forward 在伺服器端起作用,當使用forward 時,servlet engine傳遞http請求從當前的servlet或者是jsp到另外的乙個servlet jsp 或普通html檔案,也即你的form提交至a.jsp,在a...