我在服务器上用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
不确定为什么它不起作用,任何线索?
提前致谢!
编辑: 如果我将控制器代码移到视图中它可以工作......我希望该网站首先读取控制器....
答案 0 :(得分:0)
我怀疑问题实际上是在线 14 ,您在collect
上调用了@plates
,这似乎没有在任何地方初始化。