0

когда я закомментировать следующий коднеопределенный метод `карта» для ноль: NilClass рубина на рельсах

<script type="text/javascript"> 

    // var data1= "<%=[@properties.map {|c| {time:c.time.strftime("%H").to_i , speed:c.speed}}].to_json%>" 


    //var data=JSON.parse(data1.replace(/&quot;/g,'"')); 

    //alert("dataset-------------------"+data); 
</script> 

После ошибки showing.Why эта ошибка происходит после того, как я прокомментировал code.While удаление комментариев следующее сообщение об ошибке также происходит.

ActionView::Template::Error (undefined method `map' for nil:NilClass): 
     48: <div id="bar-demo" align="center"> 
     49: <script type="text/javascript"> 
     50: 
     51: // var data1= "<%=[@properties.map {|c| {time:c.time.strftime("%H").to_i , speed:c.speed}}].to_json%>" 
     52: 
     53: 
     54: //var data=JSON.parse(data1.replace(/&quot;/g,'"')); 
     app/views/static_pages/show.html.erb:51:in `_app_views_static_pages_show_html_erb__413296487_31443192 

'

ответ

1

ошибка происходит, когда ActionView пытается оценить встроенный Ruby. Все, что находится за пределами <%= ... %> или <% ... %>, не имеет никакого отношения к каким-либо ошибкам, которые могут возникнуть на данном этапе. В частности, // ничего не имеет к делу. Эти комментарии будут иметь эффект только в том случае, если встроенный Ruby был успешно оценен ActionView, сгенерированный HTML-документ был отправлен контроллером клиента в браузер клиента, а затем HTML-рендеринг/JavaScript будет выполняться браузером - только тогда комментарии имеют значение, а именно пропускание значения переменной data1.

Ваша проблема в том, что во время визуализации шаблона переменная экземпляра @properties равна nil. У вас есть что-то вроде StaticPagesController с действием show? В этом действии вы устанавливаете @properties в любом месте?

+0

Да, я также исправляю проблему. На странице load @properties будет nil.its содержит значение, только если я выберу некоторые данные из раскрывающегося списка. Когда я добавил условия, ошибка была решена :-) – Psl

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