2014-05-02 48 views
0

我有一个Rails 4项目,我尝试显示有关事件主机的相关信息。我在Haml写信而不是ERB。Ruby on Rails 4 Haml内联link_to内插的外部网址url

我想渲染一个字符串,描述关于主机的信息类型,后面是信息。例如:

电子邮件:[email protected]

我能得到MAIL_TO与以下行正常工作,但我不得不使用.html_safe来实现这一目标。我听说这是不好的做法。任何人都可以证实吗?

%p= "Email: #{mail_to @host.email}".html_safe 

现在我正在尝试做一些类似的东西与主机的Facebook配置文件的link_to。期望的结果与电子邮件类似。例如:

Facebook个人资料:www.facebook.com/somebody

但我一直有这个一个麻烦,而且搜索的一个小时后,我无法找到一个明确的解决办法。

我能够通过将它分成两行来获得它的工作。

%p Facebook Profile: 
    = link_to @host.facebook_profile, "http://#{@host.facebook_profile}" 

但是,显示在下面一行的链接。我尝试使用与电子邮件示例相同的格式,但这不起作用。

%p= "Facebook Profile: #{link_to @host.facebook_profile, @host.facebook_profile}".html_safe 

当我这样做时,它会将facebook_profile url附加到当前路由的末尾。

http://localhost:3000/venues/facebook.com/somebody 

任何帮助将不胜感激。

回答

0

这个怎么样?

%p= "Facebook Profile: #{link_to @host.facebook_profile, "http://" + @host.facebook_profile}".html_safe 

串联@host.facebook_profilehttp://前缀,使其成为完全合格的URL。

+0

谢谢。这工作。我知道+ concatenation在JavaScript中工作,但我忘了我也可以在Ruby中使用它。 – BillFienberg

+0

很高兴帮助:) –