ruby-on-rails - 如何从 ruby on rails 中删除 https 和 http
问题描述
我需要从表单的 url 中删除“https”和“http”,以便稍后显示图像,我得到了包含标题和 url 的表单,如下所示:
形式:
<%= form_for( @article, :html => { class: "form-test", role: "form"}) do |f| %>
<%= f.label :Titulo %>
<%= f.text_field :title%>
<%= f.label :Imagen%>
<%= f.text_field :img%>
<%= f.submit "Post"%>
<% end %>
看法:
<div class="header">
<%= image_tag("https://#{@article.img}") %>
<%= @article.title%>
</div>
我正在寻找选项我应该如何删除 https 如果您能告诉我,我将非常感激。
解决方案
Ruby的URI可能吗?
~ ᐅ irb [ruby-2.5.3]
2.5.3 :001 > uri = URI('https://my.domain.com/my_image.png')
=> #<URI::HTTPS https://my.domain.com/my_image.png>
2.5.3 :002 > [uri.hostname, uri.path].join
=> "my.domain.com/my_image.png"
您可以为此定义一个助手:
def url_without_scheme(url)
uri = URI(url)
uri.hostname + uri.path
end
看法:
<div class="header">
<%= image_tag(url_without_scheme @article.img) %>
<%= @article.title%>
</div>