0

抱歉,标题可能不是很清楚。基本上,我在 lib/ab_feature/ab_feature.rb 中有一个名为 ABFeature 的 Split gem 包装器

在我看来,我希望能够像这样称呼我的助手:

ABFeature.current_settings

但这不起作用,这是我遇到的错误:

undefined local variable or method `session' for ABFeature:Module

session 是 ActionController 的一种方法,似乎我无法访问它...

这是我的代码:

require 'split'

module ABFeature
  class << self
    include Split::Helper

    def current_settings
      ...
    end
  end
end


class ActionController::Base
  ActionController::Base.send :extend, ABFeature
end

有什么想法吗?,格雷格

4

1 回答 1

1

我不确定结果应该是什么,但如果你想在控制器中使用 current_settings 方法,我认为你可以做到

module ABFeature
  include Split::Helper

  def current_settings
  end
end

接着

class ApplicationController < ActionController::Base
  include ABFeature
end

我认为您通常将助手称为实例方法。然后他们应该与控制器共享上下文。

于 2012-06-21T18:26:05.180 回答