Ruby on rails Rails—在类实例方法内调用帮助器模块方法

Ruby on rails Rails—在类实例方法内调用帮助器模块方法,ruby-on-rails,ruby,Ruby On Rails,Ruby,在帮助器模块中,可以调用link_to方法,但在类生成器中则不行。所以我正在寻找一种方法来调用helper模块中包含的外部方法,并将实例变量值传递给该方法 我不想将ActionView::UrlHelper包含到类中,因为它已经可用于helper模块。而link_to只是一个示例案例来演示这里的需求。如何在RubyonRails中实现这一点 您可以通过将视图上下文传递给Builder module AHelper class Builder def link bui

在帮助器模块中,可以调用link_to方法,但在类生成器中则不行。所以我正在寻找一种方法来调用helper模块中包含的外部方法,并将实例变量值传递给该方法


我不想将ActionView::UrlHelper包含到类中,因为它已经可用于helper模块。而link_to只是一个示例案例来演示这里的需求。如何在RubyonRails中实现这一点

您可以通过将视图上下文传递给
Builder

module AHelper
   class Builder
     def link
       build_link(@apple)
     end
   end
   def build_link(sth)
     link_to "#", "buy #{sth}"
   end
end

当您实例化构建器时,如果它在控制器中,请传入
view\u context
,如果它在助手或视图中,请传入
self

可能的重复不会重复,因为
link\u to
只是这个问题中的一个示例。
module AHelper
    class Builder
      def initialize(view)
        @view = view
      end
      def link
        @view.build_link(@apple)
      end
    end
    def build_link(sth)
      link_to "#", "buy #{sth}"
    end
end