我有一个生成Javascript对象的rails模板(.rhtml文件).它看起来像下面这样:
var volumes = { <% for volume in @volumes %> <%= volume.id %> : <%= volume.data %> <%= ',' unless volume === @volumes.last %> <% end %> };
请注意unless
语句修饰符以禁止在最后一个元素之后打印逗号(以满足Internet Explorer,这令人难以置信地不支持JSON属性声明中的尾随逗号).
这似乎有效,但作为一种风格问题,人们是否认为依靠<%= value unless condition %>
模板生成适当的render
呼叫是合理的?
我不明白为什么不,但通常如果你发现自己在最后一个成员上使用逗号,你可能想要使用join
:
<%= @volumes.map {|v| "#{v.id} : #{v.data}"}.join "," %>