首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >控制器中的ClassMethods与返回NoMethodError有关

控制器中的ClassMethods与返回NoMethodError有关
EN

Stack Overflow用户
提问于 2015-09-03 14:04:53
回答 1查看 388关注 0票数 0

我在控制器/关注点中创建了一个名为reports.rb的关注点。

在它中我创建了ClassMethods模块。看上去像这样

代码语言:javascript
复制
module Reports
  extend ActiveSupport::Concern

included do
    require 'peddler'
    require 'csv'
end

module ClassMethods

    def report_details(token, marketplace_id, merchant_id)
      #...
    end

我在我的招商总监中包括了这样的关注:

代码语言:javascript
复制
class MerchantsController < ApplicationController
  include Reports

然后尝试在Merchants控制器上的一个操作中调用report_details方法,如下所示:

代码语言:javascript
复制
def pull_from_amazon
    me = Merchant.find(params[:merchant_id])
    marketplace = me.marketplace
    token = me.token
    Merchant.report_details(token, marketplace, params[:merchant_id])
    redirect_to root_path
end

根据这篇文章丰富的铁路,我应该可以打电话给:

代码语言:javascript
复制
Merchant.report_details(xx,xxx,xxxx)

但是当我尝试的时候我得到了一个NoMethodError。我也试过:

代码语言:javascript
复制
me.report_details(xx,xxx,xxxx)

得到了相同的NoMethodError

我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-03 14:33:04

尝尝这个

代码语言:javascript
复制
MerchantController.report_details(xx,xxx,xxxx)

但是你最好把这个问题纳入模型中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32377884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档