Rails Ruby - Handeling Nil在生产与开发方面

时间:2013-07-20 17:38:49

标签: ruby-on-rails ruby ruby-on-rails-3 null

我在服务器上用phusion乘客启动了我的网站,一切似乎顺利运行一页。

这里我收到以下错误消息:

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:             <%@params=@myp.collect{|i| i.to_i}%>
14:             <%@allsecondary=@plates.collect(&:id)%>
15: 
16:             <%if @startup != 1%>

似乎实例变量@myp在生产中不起作用,因为当我在开发中在我自己的计算机上测试它时它工作得非常好。该变量首先在我的控制器中声明:

 if params[:plates]!=nil
   @myp = params[:plates]
 else
   @myp = Array.new
 end

不确定为什么它不起作用,任何线索?

提前致谢!

编辑:     如果我将控制器代码移到视图中它可以工作......我希望该网站首先读取控制器....

1 个答案:

答案 0 :(得分:0)

我怀疑问题实际上是在线 14 ,您在collect上调用了@plates,这似乎没有在任何地方初始化。