1
我有一個控制器,我想包括一些標準方法。Rails 3在控制器內嵌套模塊
class Main::UsersController < Main::BaseController
include MyModule::ControllerMethods
end
uninitialized constanct MyModule::ClassMethods::InstanceMethods
我的模塊看起來是這樣,這也是錯誤的,原本意味着一個模型。這樣做的最好方法是什麼,以便我可以在控制器中使用它?
module MyModule
def self.included(base)
base.has_one :example, :autosave => true
base.before_create :make_awesome
base.extend ClassMethods
end
module ClassMethods
...
include InstanceMethods
end
module InstanceMethods
...
end
module ControllerMethods
...
# I want to include these in my controller
def hello; end
def world; end
end
end
本文由耶胡達·卡茨進入到更詳細的關於爲什麼只用延長是不是覆蓋更好包括擴展:http://yehudakatz.com/2009/11/12/better-ruby-idioms/ – jergason 2010-11-23 19:29:58