我在控制器/关注点中创建了一个名为reports.rb的关注点。
在它中我创建了ClassMethods模块。看上去像这样
module Reports
extend ActiveSupport::Concern
included do
require 'peddler'
require 'csv'
end
module ClassMethods
def report_details(token, marketplace_id, merchant_id)
#...
end我在我的招商总监中包括了这样的关注:
class MerchantsController < ApplicationController
include Reports然后尝试在Merchants控制器上的一个操作中调用report_details方法,如下所示:
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根据这篇文章丰富的铁路,我应该可以打电话给:
Merchant.report_details(xx,xxx,xxxx)但是当我尝试的时候我得到了一个NoMethodError。我也试过:
me.report_details(xx,xxx,xxxx)得到了相同的NoMethodError
我做错什么了?
发布于 2015-09-03 14:33:04
尝尝这个
MerchantController.report_details(xx,xxx,xxxx)但是你最好把这个问题纳入模型中。
https://stackoverflow.com/questions/32377884
复制相似问题