2014-11-06 33 views
0

在我的应用程序中,用户可以创建一个包含指定网站链接的帖子。 举例.. 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

那是因为你对邮政的link属性缺失http://。保存记录时,您可以检查link字符串是否以http://https://开头,如果不是,请相应地在该字符串前添加。

更新:

添加一个回调来发表您的模型:

before_save :prepend_link 

添加一个私有方法来安置自己的模式:

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

使用此在您的视图:

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

是的,确实有效。关于如何检查和/或预先加载字符串的任何建议? – fresh5447 2014-11-06 19:35:40

+0

因此,即使我将链接另存为https://www.google.com,它在生产中也不起作用。它不会路由到任何地方。 – fresh5447 2014-11-06 19:41:17

+0

I.E. https在本地工作,但不在生产中。 – fresh5447 2014-11-06 19:42:43