Rails 3.2 ApplicationController如何继承模块ApplicationController

wuw*_*xin 0 ruby-on-rails ruby-on-rails-3

在我的rails 3.2项目中,我有一些像这样的控制器:

/app/controllers/application_controller.rb
/app/controllers/college/application_controller.rb
/app/controllers/college/actors_controller.rb
Run Code Online (Sandbox Code Playgroud)

/app/controllers/college/actors_controller.rb的内容如下:

class College::ActorsController < College::ApplicationController
end
Run Code Online (Sandbox Code Playgroud)

/app/controllers/college/application_controller.rb的内容如下:

class College::ApplicationController < ApplicationController
  before_filter do
    puts "welcome"
  end
end
Run Code Online (Sandbox Code Playgroud)

如果我修改控制器,请重新加载Web浏览器.控制台可以输出字符串"welcome".但是当我关闭webrick并重新启动webrick,然后重新加载web浏览器时,控制台不会输出"welcome"

看起来像College :: ApplicationController没有被加载?

我该如何解决?

小智 5

我们碰到了类似的东西,完全定义的类定义解决了我们的问题.

值得尝试改变

class College::ActorsController < College::ApplicationController
Run Code Online (Sandbox Code Playgroud)

class College::ActorsController < ::College::ApplicationController
Run Code Online (Sandbox Code Playgroud)

class College::ApplicationController < ApplicationController
Run Code Online (Sandbox Code Playgroud)

class College::ApplicationController < ::ApplicationController
Run Code Online (Sandbox Code Playgroud)