2

私の見解では、この非常に単純なコードがあります。

<% @something.each do |something| %>

<% i = i+1 %>

<div class="row">
<div class="span1"><span class="badge untouched"><%= i %></span></div>
</div>

<% end %>

このエラーが発生します

undefined method `+' for nil:NilClass

私は別のビューでまったく同じコードを持っていて、そこで動作します!しかし、私はレールに不慣れで、あなたは私がやりたいことを理解しています。たぶん、各ループ内で整数をインクリメントするより一般的な方法がありますか?このエラーはどこから発生しますか?

助けてくれてありがとう!

4

4 に答える 4

4

さて、iあなたがそれを増やすことができる前に、値を持たなければなりません。

<% i = 0 %>
<% i = i+ 1 %>
于 2013-02-27T11:37:37.850 に答える
4

私は初期化されていません、

それぞれの代わりに、次のようにeach_with_indexを使用します

<% @something.each_with_index do |something, i| %>

<div class="row">
<div class="span1"><span class="badge untouched"><%= i %></span></div>
</div>

<% end %>
于 2013-02-27T11:41:45.427 に答える
1

変数i=0を初期化します

<% i=0
i = i+1 %>
于 2013-02-27T13:25:18.437 に答える
0

定義:

def nil.+ other; other end
于 2013-06-15T22:58:28.680 に答える