2014-05-02 47 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

很高興幫助:) –