1

目前,当我的应用程序中的用户创建一个新的职位发布时,他们会输入一个链接到他们网站上的职位页面的 URL。然后我想用这个链接到他们的网站。

它存储在我的数据库中,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://或者,除非用户已经说明,否则有人可以解释我如何在创建时添加所有链接?

在此先感谢您的帮助!

4

1 回答 1

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 %>

谢谢

于 2012-08-02T16:09:10.233 回答