2013-10-08 23 views
1

我有一个项目,可以有多个域名。因此,指数(项目)页面上,我用下面的代码写出来与逗号分隔域他们使用.map写出一个域名和链接到域名Rails 4

<%= project.domains.map { |d| d.name }.join(", ") %> 

我希望做的是有域可以点击,并导致相应的网站。我需要一个在domain.name之前添加http://的解决方案。像这样:

"http://" + "d.name" 

这可能吗?还是有更好/更简单的方法来做到这一点? 我是Rails的新手,我一直无法找到关于此的任何信息。先谢谢您的帮助。

回答

3

这应做到:

<%= project.domains.map{ |domain| link_to "http://#{domain.name}", "http://#{domain.name}" }.join(', ').html_safe %> 
+0

谢谢你,完美的工作 –

0

您可以使用 “减少” 这一点。它在每个2个元素之间定义一个运算符。

project.domains.reduce("") do |result, value| 
    "#{result}http://#{value}, " 
end 
+0

但最后一个元素将有一个逗号,对不对? – MrYoshiji