使用Ruby on Rails設計短網址功能

--

每次遇到新功能要開發的時候,就想來分享一下。

Step1 重要的程式設定及設計一張Table,最少兩個欄位:


short_url_code = SecureRandom.hex(5)
full_short_url = request.base_url + "/m/" + short_url_code

Step2 可以加上這個,強化使用者輸入:

def ensure_http_prefix(url)
unless url.start_with?('http://', 'https://')
url = "http://#{url}"
end
url
end

Step3 寫一個redirect_to的action

def redirect_url
frontdesk_url = "自定義如果沒有短網址要去哪裡?"
tml_short_url = TmlShortUrl.find_by(short_url: request.base_url + "/m/" + params[:short_url_code])
if tml_short_url.present?
dest = tml_short_url.origin_url
redirect_to dest
else
redirect_to frontdesk_url
#redirect_to root_url, alert: 'Short URL not found'
end
end

--

--