尝试在Rails测试中使用自定义类时未初始化的常量

时间:2018-01-29 20:07:20

标签: ruby-on-rails ruby testing minitest

在Rails 5.1上,我有这个模块:

app/datatables/financing/merchants_datatable.rb

在我的merchants_controller.rb文件中,我有这段代码:

def index
    ...
    respond_to do |format|
        format.html
        format.json { render json: Datatables::Financing::MerchantsDatatable.new(view_context) }
    end
end

当我尝试运行我的test / controllers / merchants_controller_test.rb时,我遇到了这个错误:

NameError: uninitialized constant Financing::MerchantsController::Datatables

如何在测试中加载merchants_datatable.rb模块?

谢谢!

1 个答案:

答案 0 :(得分:2)

Ruby似乎对您的模块结构感到困惑。变化

/canary

format.json { render json: Datatables::Financing::MerchantsDatatable.new(view_context) }

告诉Ruby不要开始在format.json { render json: ::Datatables::Financing::MerchantsDatatable.new(view_context) } 命名空间内搜索Datatables