如何在Rails中使用与helper模块嵌套的模块的命名方法

时间:2016-04-09 01:14:22

标签: ruby-on-rails

我在helpers中使用Rails时遇到问题。

请注意以下代码。

module A    
  module B
    extend self

    def method
      "method at module B of A"
    end

  end 
end

module C    
  extend self
  include A
end

class ClassA
  extend C

  class << self
    def method
      B.method
    end
  end

end

p ClassA.method #=> "method at module B of A"

它适用于Ruby,但不能用作Rails helper

以下是我的文件。

/lib/a/b.rb

module A
  module B
    def method
      "It works"
    end
  end
end

app/helpers/a_helper.rb

require 'a/b'

module AHelper
  include A
end

app/views/a/_form.haml

B.method

当我在B.method内拨打_form.haml时,会出现错误:uninitialized constant ActionView::CompiledTemplates::B

如果在config.action_controller.include_all_helpers = false中设置config/application.rb,并在我的extend AHelper中包含controller,也无效。

0 个答案:

没有答案