在網站開發中,許多時候可能需要組裝連結的網址
像是domain name 這些常用的設定通常會放在env中
但是我們不一定擁有production權限去查看env 的設定
例如我們有個網址是
"#{ENV['DOMAIN_NAME']}/about_me"
如果env中的DOMAIN_NAME
中含有斜線,例如 ‘https://home.com/
‘
那麼在組裝網址時就有可能發生錯誤變成 'https://home.com//about_me'
所以我們可以寫一個helper來自動清除可能多餘的斜線 ‘/’
# app/helpers/application_helper.rb
module ApplicationHelper
def normalize_url(url)
# 移除非 'https://' 後的多餘斜線
cleaned_url = url.gsub(%r{([^:])/+}, '/')
# 強制 URL 開頭為 'https://' 並確保僅有兩個斜線
cleaned_url.sub!(%r{^https?:/+}, 'https://')
cleaned_url
end
end
# 在 controller 或 view 中使用
normalized_url = normalize_url('https://///home.com//edit/1')
puts normalized_url
# 輸出: https://home.com/edit/1