目前,当我的应用中的用户创建新的职位帖时,他们会输入一个链接到其网站上的工作页面的网址。然后,我想用它来链接到他们的网站。
它作为job.job_url
存储在我的数据库中,我在控制器中定义了一个对象@link
,以查找作业和相关的URL。
我目前有以下代码来遍历所有作业并提供链接:
<section id="job-wrapper">
<% @jobs.each do |job| %>
<%= link_to @link.job_url do %>
<%= job.title %>
<%= job.location %>
<%= job.job_type %>
<%= job.salary %>
<%= job.company %>
<% end %>
<% end %>
</section>
我遇到的问题是,如果没有包含http://
rails的URL,则假定链接是内部链接,因此会生成localhost:3000/www.google.com
之类的链接。
我有办法确保Rails只在实例中将链接识别为外部链接吗?或者有人可以解释我如何在创建的所有链接上添加http://
,除非用户已经说明了它?
提前感谢您的帮助!
答案 0 :(得分:2)
感谢您的帮助!
我设法通过创建一个名为URLhelper
这包含:
module UrlHelper
def url_with_protocol(url)
/^http/.match(url) ? url : "http://#{url}"
end
end
然后我使用了以下link_to
<%= link_to url_with_protocol(@link.job_url), :target => '_blank' do %>
由于