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变量。

您的问题是,在模板呈现时,实例变量@propertiesnil。您是否有类似StaticPagesController的行动,并采取show行动?在那个行动中,你是否在任何地方设置了@properties

+0

yes我也纠正了问题。在页面加载@properties将是nil.its包含值,只有当我从dropdown.when选择一些数据时,我添加条件错误得到解决:-) – Psl 2013-03-22 04:35:08

相关问题