2015-05-18 4 views
0

У меня есть следующий код в моем Rails просмотра:неопределенный метод `-» для ноль: NilClass

-if program.description.length > 214 
      -total = 0 
      -perfect_index = 0 
      -program.description.split(' ').each do |word, index| 
      -total += word.length 
      -if total >= 214 
       -perfect_index = index - 1 
       -break 
      =program.description.split(' ')[0..perfect_index].join(' ') 
      \... 
-else 
    =program.description 

Я не знаю, почему индекс может иметь значение nil:NilClass. Я чувствую, что проблема связана с моим haml областью определения переменных, которая, вероятно, не работает, как мне кажется, но я не знаю, как это улучшить.

ответ

3

вызова только each, не each_with_index приводит к возникновению проблемы

должен быть program.description.split(' ').each_with_index do |word, index|

1

, если вы хотите использовать индекс, чем вы должны использовать each_with_index

program.description.split(' ').each_with_index do |word, index| 
Смежные вопросы