AnA*_*ice 16 ruby ruby-on-rails
我现在正在我的一个用户邮件程序视图中执行以下操作:
<% @participants.each do |participant| %>
<%=participant.user.full_name%>
<% end %>
Run Code Online (Sandbox Code Playgroud)
我希望除了最后一个记录之后每个记录都有一个逗号,我想我可以添加一个if块来查看当前记录是否是最后一个,但这似乎是很多代码.在除了最后一项之外的每个项目之后,rails是否有更好的方法输出逗号.
Good: XXXXX, XXXXXX, XXXXX
Bad: XXX,XXX,XXXX,
Run Code Online (Sandbox Code Playgroud)
谢谢
Jac*_*son 31
你可以做点什么
@participants.map{|p| p.user.full_name}.join(",")
Run Code Online (Sandbox Code Playgroud)
您还可能希望查看to_sentenceRails添加到Array类的方法; 它可以让你自动输出输出"xxx,yyy和zzz".
fl0*_*00r 19
["Apple", "Orange", "Pie"].join(", ") => "Apple, Orange, Pie"
Run Code Online (Sandbox Code Playgroud)
在更复杂的工作:
<% @participants.each do |participant| %>
<%= participant.user.full_name %>: <%= participiant.comment %><%= "," unless participiant == @participiants.last %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
如果您的实际案例更复杂(将从partials中受益),您可以通过将部分集合替换为循环来大大简化它:
<%= render :partial => "name", :collection => @participants, :spacer_template => "comma" %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8849 次 |
| 最近记录: |