Rails:使用另一个控制器中的helper_method

时间:2010-11-13 20:41:26

标签: ruby-on-rails helper

我有以下控制器:

class FirstController < ApplicationController
  helper_method :contoller_method

private 
  def contoller_method
    "text"
  end
end

如何在另一个控制器的视图中使用contoller_method?有最好的做法吗?

2 个答案:

答案 0 :(得分: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

答案 1 :(得分:3)

也许这个?

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