2010-11-13 64 views

回答

7

将方法置于application_controller.rb。然后它将可用于所有的控制器。

如果你只是想在两个班级之间分享,你可以做这样的事情。创建一个名为helper controller的新控制器,并让First/Second控制器继承它。

class FirstController < HelperController 

end 

class SecondController < HelperController 

end 

class HelperController < ApplicationController 
    helper_method :contoller_method 

    private 
    def contoller_method 
     "text" 
    end 
end 
+0

这是一个选项:)谢谢。但是,我只能在两个控制器之间共享此方法吗? – petRUShka 2010-11-14 16:47:50

1

也许这样?

class FirstController 
    include SomeConcern 
end 

class SecondController 
    include SomeConcern 
end 

module SomeConcern 
    def self.included(base) 
    base.helper_method :controller_method 
    end 

    private 

    def controller_method 
    "text" 
    end 
end 
相关问题