Zep*_*ock 6 ruby variables ruby-on-rails erb
这是在红宝石中做到这一点的DRYest方法吗?
<% for item in @items %>
<%= n = n + 1 rescue n = 1 %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
将"n"初始化为"1"并在循环进行时将其递增(并将其打印出来),因为这是我的应用程序的一个视图
zai*_*ius 16
您可以使用三元运算符:
<% for item in @items %>
<%= n = n ? n+1 : 1 %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
但是,根据你想要做的事情,我猜测each_with_index会更合适
<% @items.each_with_index do |item, n| %>
<%= n %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
你也可以依赖ruby的nil强制到一个导致零的整数.
<% for item in @items %>
<%= n = n.to_i + 1 %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5456 次 |
| 最近记录: |