使用.map写出域名并链接到域名Rails 4

时间:2013-10-08 13:32:24

标签: ruby-on-rails ruby-on-rails-4

我有一个项目,可以有多个域。因此,在索引(项目)页面上,我使用以下代码用逗号分隔它们来写出域

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

我想要做的是让域名可以点击并引导到相应的网站。我需要一个在domain.name之前添加http://的解决方案。像这样:

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

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

2 个答案:

答案 0 :(得分:3)

这应该这样做:

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

答案 1 :(得分:0)

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

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