我正在使用 Ruby 1.9.2 和 Ruby on Rails 3.2.2。我有以下情况:
class MyClass < ActiveRecord::Base
include MyModule1
include MyModule2
include ...
# Note: This method statement should override the method mixedin by MyModule1.
def my_method(*args)
# ...
end
end
module MyModule1
def my_method(*args)
raise "NotImplementedError - The :my_method is not implemented yet"
end
end
# /app/views/layouts/application.html.erb
if @my_class.my_method
All right!
end
当我启动我的 Web 应用程序浏览页面时,我得到错误"NotImplementedError - The :my_method is not implemented yet"
,即使我覆盖了my_method
包含MyClass
的内容MyModule
(如您可以在上面的代码中阅读的那样)。发生这种情况是因为它加载了类之前的视图吗?或者是什么?我应该如何处理这种情况才能MyClass
正确覆盖my_method
?