从控制器调用模块函数(NoMethodError)

发布于 2024-11-18 19:54:51 字数 447 浏览 0 评论 0原文

所以我有一个模块“MiddleMan”,我可以在 Rails 控制台中很好地调用它,但在控制器中我收到 NoMethodError

在控制器中我有:

class SignUpController < ApplicationController
  include MiddleMan
  def page_one
      @package = MiddleMan::read_catalog("a", "b", "c")
  end
end

在 middleman.rb 模块中我有:

module MiddleMan
  def read_catalog(package, payment, coupon)
    Package.new(:price => "4.99")
  end
end

有什么想法吗?

So I have a module "MiddleMan" I am able to call it just fine in the rails console but in the controller I am getting a NoMethodError

In the controller I have:

class SignUpController < ApplicationController
  include MiddleMan
  def page_one
      @package = MiddleMan::read_catalog("a", "b", "c")
  end
end

And in the middleman.rb module I have:

module MiddleMan
  def read_catalog(package, payment, coupon)
    Package.new(:price => "4.99")
  end
end

Any thoughts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

溺孤伤于心 2024-11-25 19:54:51

由于您包含了该模块,实例方法 read_catalog 已添加到您的类中,因此您可以直接调用它:

class SignUpController < ApplicationController
  include MiddleMan
  def page_one
      @package = read_catalog("a", "b", "c")
  end
end

Since you included the module the instance method read_catalog is added to your Class, so you can call it directly:

class SignUpController < ApplicationController
  include MiddleMan
  def page_one
      @package = read_catalog("a", "b", "c")
  end
end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文