我有一个阵列 @cities = ["Vienna", "Barcelona", "Paris"];
而我正试图在两者之间展示间隔物.但是,阵列中可能只有1个元素,在这种情况下我不想显示间隔符.而且数组也可能是空的,在这种情况下我想什么都不显示.
对于上面的数组,我想要以下输出:
Vienna
-----
Barcelona
-----
Paris
Run Code Online (Sandbox Code Playgroud)
cityview在实际打印城市名称之前,我使用erb模板应用格式,css等.简化,它看起来像这样:
<p><%= @cities[@city_id] %></p>
Run Code Online (Sandbox Code Playgroud)
我已经实现如下......
unless @array.empty?
@city_id = 0;
erb :cityview
end
unless @array[1..-1].nil?
@array[1..-1].each_index do |i|
@city_id = i+1;
puts "<p>-------</p>";
erb :cityview
end
end
Run Code Online (Sandbox Code Playgroud)
有没有更好的办法?
@cities.join("<p>--------</p>")
Run Code Online (Sandbox Code Playgroud)
编辑以解决模板
在这里,我假设有一个erbs方法返回渲染模板而不进行放置.返回字符串可以更容易地操作和重用.
@cities.map { |c| @city = c; erb :cityview }.join("<p>--------</p>")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
574 次 |
| 最近记录: |