2014-11-03 65 views
0

我试图在Spree上将我的模块添加到我的class_eval在Spree和Rails上包含一个自定义模块

它位于:lib/spree/core/app/models/spree/payment/processing.rb

试图用以下几点:

module Spree 
    Payment.class_eval do 
    require GatewayError 

    end 
end 

我想包括以下位于:lib/spree/error_override.rb

module Spree 
    module GatewayError 


    end 
end 

的错误我得到当我尝试加载服务器时:

`block in <module:Spree>': uninitialized constant Spree::GatewayError (NameError) 

这是我第一次尝试将自己的模块加入课程,如果有人能指出我正确的方向,那将是非常棒的。

预先感谢您!

+0

有您重新启动服务器?另外,如果你启动一个rails控制台,那么'Spree :: GatewayError'的结果是什么? – 2014-11-03 16:05:42

+0

我的服务器和控制台没有启动,当我尝试启动一个'lib/spree/core/app/models/spree/payment/processing.rb:3:in'block ':未初始化的常量Spree :: GatewayError(NameError)' – neo 2014-11-03 16:08:15

+0

只需使用require命令行并尝试运行控制台。它可以在控制台中启动模块吗? – 2014-11-03 16:10:17

回答

1

一个解决方案是在初始化过程中手动要求文件。

配置/初始化/ require.rb:

# put here all files that you want to require manually 
require "#{Rails.root}/lib/spree/error_override.rb" 

这就是它 - 你的模块现在已准备好使用;)

+0

这对我不起作用,我也尝试了一些其他的变化,但他们也没有工作,不知道我做错了什么。 – neo 2014-11-03 18:17:46

+0

做了几处修改,谢谢你的帮助! – neo 2014-11-03 18:35:08