Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/EmptyTag/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3.2 在过滤器之前使用时未定义的局部变量或方法_Ruby On Rails 3.2_Upgrade_Ruby On Rails 2 - Fatal编程技术网

Ruby on rails 3.2 在过滤器之前使用时未定义的局部变量或方法

Ruby on rails 3.2 在过滤器之前使用时未定义的局部变量或方法,ruby-on-rails-3.2,upgrade,ruby-on-rails-2,Ruby On Rails 3.2,Upgrade,Ruby On Rails 2,我正在将一个项目从rails 2.0.2升级到3.2.13。我在使用过滤器之前使用了:构建菜单 class MyController < ApplicationController layout 'main' before_filter :build_menu ... protected def build_menu @menu = [] end end class MyController

我正在将一个项目从rails 2.0.2升级到3.2.13。我在使用过滤器之前使用了
构建菜单

class MyController < ApplicationController   
  layout 'main'

  before_filter :build_menu 
  ... 
protected   
  def build_menu
    @menu = []   
  end 
end
class MyController
现在有了Rails 3,我得到了一个错误:

未定义的局部变量或方法
build\u菜单


我也有同样的问题。
原来我在文件中有不匹配的
def
-
end
,但是由于某些原因IDE没有在文件中给我任何错误。仔细检查。

我看不出这段代码有任何错误,您确定没有在其他地方调用build_菜单吗?(可能是无法访问受保护方法的类)