Здесь довольно много ответов.Однако мне не понравился ни один из них, так как все они полагаются на то, что я не забываю явно добавить порт, протокол и т. Д. Я считаю, что это самый элегантный способ сделать это:
full_url = URI( root_url )
full_url.path = Image.first.image.url
# Or maybe you want a link to some asset, like I did:
# full_url.path = image_path("whatevar.jpg")
full_url.to_s
И что самое лучшее в этом то, что мы можем легко изменить только одну вещь, и независимо от того, что это может быть, вы всегда делаете это одинаково.Скажем, если вы хотите отбросить протокол и использовать относительный к протоколу URL , сделайте это до окончательного преобразования в строку.
full_url.scheme = nil
Ууу, теперь у меня есть способпреобразование URL-адресов моего ресурса в относительные URL-адреса протокола, которые я могу использовать в фрагменте кода, который другие могут захотеть добавить на свой сайт, и они будут работать независимо от протокола, который они используют на своем сайте (при условии, что ваш сайт поддерживает любой протокол).