2013-07-22 2 views
0

У меня есть вопрос, который я пробовал получить раньше, и это сводит меня с ума. Почему это не работает?Ruby Rails Класс Nil на пустом массиве

неопределенный метод `Collect» для ноль: NilClass

Извлеченные источник (около линии № 17):

13: <%if @myp == nil%> 
14: <%@myp = []%> 
15: <%@params = @myp%> 
16: <%else%> 
17: <%@myp = [-1]%> 
18: <%@[email protected]{|i| i.to_i}%> 
19: <%end%> 

Он прекрасно работает в разработке, но когда я загрузить его на моем сервере производства он просто дать мне эта ошибка.

Код относится к моему виду-файлу. Есть ли что-нибудь еще, что я могу сделать вместо этого?

Я думаю, что это все соответствующий код относительно этой функции. В мой контроллер у меня есть это, хотя:

if params[:plates]!=nil 
@myp = params[:plates] 
else 
@myp = [-1] 
end 

Единственное, что я делаю здесь, получая некоторую информацию от возможных параметров, отправленных пользователями. Извините за уродливое кодирование, если кто-то заботится.

+1

Могу ли я спросить, что '@ params = @ myp.collect {| i | i.to_i} 'для? Вы могли бы также сделать '@params = @ myp' вместо всего этого. –

ответ

0
<%if @myp == nil%> 
    <%- @myp = []%> 
    <%- @params = @myp%> 
<%else%> 
    <%- @myp = [-1]%> 
    <%- @[email protected]{|i| i.to_i}%> 
<%end%> 

Использование <%- %> вместо <% %> в этом случае.

Я бы пересмотрел с использованием @[email protected]{|i| i.to_i} всего. Это не нужно. Вы можете достичь той же цели с @params = @myp

+2

Что делает '<% -' действительно против просто '<%'? – lurker

+0

Спасибо, <% - не работает, но ваше другое предложение было сделано. Большое спасибо! – OXp1845

Смежные вопросы