Я запустил свой сайт с помощью phusion-пассажира на сервере, и все, кажется, работает плавно за исключением одной страницы.Rails Ruby - Handeling Nil in production vs development
Здесь я получаю следующее сообщение об ошибке:
NoMethodError in Identities#show
Showing /var/www/feedme/app/views/identities/_platemenu.html.erb where line #13 raised:
undefined method `collect' for nil:NilClass
10: <div id="plate_heading_box">
11: <p class="plates_head">
12:
13: <%@[email protected]{|i| i.to_i}%>
14: <%@[email protected](&:id)%>
15:
16: <%if @startup != 1%>
Похоже, например, переменная @myp не работает в производстве, потому что он отлично работает, когда я проверить это на моем собственном компьютере в процессе развития. Переменная сначала объявляется в моем контроллере:
if params[:plates]!=nil
@myp = params[:plates]
else
@myp = Array.new
end
Не совсем уверен, почему это не работает, никаких подсказок?
Заранее благодарен!
EDIT: Если переместить код контроллера к мнению он работает ... Я хотел бы сайт прочитал первый контроллер ....
Это несоизмеримые фрагменты кода. Какой контроллер является вашим назначением '@ myp'? И какое представление обрабатывается первым после назначения? Код представления, который вы показываете, является частичным, поэтому я подозреваю, что в первый раз попал другой erb. Возможно, что-то происходит на пути к '@ myp'. – lurker
Если вы получаете 'undefined method for nil: NilClass', это ВСЕГДА означает, что вы не настраиваете некоторые вар правильно. Дважды проверьте свой код, и не сомневайтесь, что это не стоит того. –
Но если я неправильно задал переменные, почему он работает в разработке? – OXp1845