使实例变量成为可点击的直接链接

时间:2014-11-06 19:21:24

标签: ruby-on-rails routing

在我的应用中,用户可以创建一个包含指向指定网站的链接的帖子。 例.. post.title - >我用这个网站来研究主题。 post.link - > google.com

在post.show中我想直接链接到google.com

我试着用这个来做:

<p><%= link_to @post.link%></p>

我需要将用户路由到google.com的链接。但是,它将用户路由到

/topics/12/posts/www.google.com

1 个答案:

答案 0 :(得分:1)

那是因为你在帖子的http://属性上遗漏了link。保存记录时,您可以检查link字符串是以http://还是https://开头,如果不是,请相应地添加字符串。

更新

向Post模型添加回调:

before_save :prepend_link

为Post模型添加私有方法:

private
  def prepend_link
    self.link = "http://#{link}" unless link.starts_with?('http://', 'https://')
  end

在您的视图中使用此功能:

<%= link_to @post.link, @post.link %>