簡體   English   中英

request.referer的用途是什么?

[英]What is the use of request.referer?

我想知道以下代碼的作用。 request.referer的用途是什么?

@board = request.referer['dashboard'] if request.referer

request.referer為您提供先前的URL或/如果沒有)。 通常用於將用戶重定向回上一頁( link

更多信息在這里

關於您的問題,如果在request.referer找到,它只是返回'dashboard' 看下面的例子:

> str = "hello world!"
 => "hello world!"
> str['hello']
 => "hello"
> str['lo wo']
 => "lo wo"
> str['foo']
 => nil

但是,您不應依賴此方法將用戶重定向回。 您可以在控制器中執行以下操作:

redirect_to :back

request.referer為您提供先前的URL或/如果沒有)

在庫中,您可以看到:

def referer    
  @env['HTTP_REFERER'] || '/'
end

您可以為此使用引用技術,但是在輸入表單時(而不是在提交表單時)必須捕獲它。 像這樣:

<%= hidden_field_tag :referer, (params[:referer] || request.env['HTTP_REFERER']) %>

然后,您可以在控制器中使用params[:referer]進行redirect back

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM