2014-11-03 60 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