如何在我的 Rails 模块中定义一个辅助方法?

How do I define a helper method in my Rails module?

提问人: 提问时间:7/22/2016 更新时间:9/12/2016 访问量:705

问:

我正在使用 Rails 4.2.4。如何在模块中定义帮助程序(私有)方法?我有这个模块

module WebpageHelper

  def get_url(url)
    content = get_content(url)
    ..
  end

  def get_content(url)
    …
  end

  module_function :get_url

end

我不希望“get_content”方法可以公开访问,但是使用上面的代码时,我得到了错误

Error during processing: undefined method `get_content' for WebpageHelper:Module

如何在我的模块中正确定义私有帮助程序方法?

ruby-on-rails-4 方法 模块 帮助程序

评论


答:

0赞 Mazaz 7/22/2016 #1

我认为最好的方法(主要是现有库的编写方式)是通过在模块中创建一个处理所有逻辑的类来做到这一点,而该模块只是提供了一个方便的方法。

文档在这里;

私有方法

或者看 这里 一些很好的例子,例如 选择。class << self

评论

0赞 7/22/2016
我在这里需要一个代码示例,因为如果我没看错的话,你说的是使用 helper 方法创建一个类,这将使此方法可公开访问,这正是我试图避免的。此方法将仅在此模块中使用。
0赞 9/13/2016
所以这个内部类的方法只能在模块本身内访问?