0

我想在Rails控制檯中的Rails類中測試一些函數。如何在控制檯中測試Rails Class功能?

class Model 
    def function1 
    input_1 = ... 
    input_2 = ... 
    function1_hash = [ ] 
    ... 
    m = function2(input_1,input_2) 
    function1_hash += m 
    end 

    def function2(input_1,input_2) 
    input_1.each do |value| 
     function2_hash << value 
    end 

    temp = input_2.anotherClassFunctionCall() 
    function2_hash << temp 
    end 
end 

所以在Rails的控制檯,我想看看這些功能工作正常與否,但我一直運行到下面的錯誤。

# Rails console 
> input_1 = ... 
> input_2 = ... 
> Model.function2(input_1,input_2) 
NoMethodError: undefined method `function2' for Model:Class 

最後,我需要完整性檢查功能1(這肯定是在更大的工作流程失敗的),但似乎無法甚至承認,這取決於同一個類中的功能。

BTW,整個軌道上載作爲AWS ELB instance.And泊塢窗文件我用EB SSH進入軌道並進行上述試驗。

回答

2

您的function2是一種實例方法。你需要像調用它實例Model類:

Model.new.function2(input_1,input_2) 

編碼快樂!

+0

感謝您的輸入。在function1之前有一個單獨的_ ** def init ** _函數,當我使用你的時: Model.new.function2(input_1,input_2) 我得到了嵌入在_ ** def中的同樣的異常錯誤function1 ** _當我運行一般_ ** Model.create!(input_variable:some_varialbe)** _( - >這是我需要工作的): rescue Exception => e run_errors <<「錯誤...「 self.state =:錯誤 throw」錯誤正在運行此列表...「 如何檢查以查看引發錯誤的語句是什麼? – Josh

0

你可以讓你的方法一類方法

變化:

def function2(input_1,input_2) 

到:

def self.function2(input_1,input_2) 
相關問題