我需要生成一個唯一的鏈接,以便當用戶點擊它時,它們最終在某個頁面/ 動作。但是,只需在地址欄中輸入一個簡單的URL,他們就不能直接進入該頁面/ 動作。如何創建一個獨特的鏈接到某個頁面?
這怎麼能在Rails中實現?
我需要生成一個唯一的鏈接,以便當用戶點擊它時,它們最終在某個頁面/ 動作。但是,只需在地址欄中輸入一個簡單的URL,他們就不能直接進入該頁面/ 動作。如何創建一個獨特的鏈接到某個頁面?
這怎麼能在Rails中實現?
您可以隨時使用類似令牌數據庫和該令牌過期的內容。
# url
url/items?token=12345
def index
token = Token.find_by_token(params[:token])
if token && token.expiry > Time.now
#do something
else
redirect_to root_url
end
end
Downvote,因爲這個問題本身不是一個有效的SO問題。沒有足夠的信息來給出正確的答案,OP似乎沒有嘗試去解決問題 –
@CarlMarkham如果我對如何實施它沒有任何線索怎麼辦? –
已更新。但是,如果你已經在使用Devise,你可以使用[Devise confirmedmable](https://github.com/plataformatec/devise/blob/master/lib/devise/models/confirmable.rb) – Shannon
只是好奇這是什麼用途?通常如果你想限制信息,這通常是通過某種登錄/認證系統來處理的。 – the12
@ the12例如對某個站點的beta訪問。用戶提交請求,然後管理員通過可用於訪問註冊頁面的鏈接向他們發送電子郵件。 –
你可以給你發送的url添加一些參數,如果進來的人有這個令牌然後顯示頁面,否則將它們重定向到其他地方 – SomeSchmo