我在def repay_loans
中有方法class Loan < ActiveRecord::Base
,如何在rails控制台中运行它。
我尝试过Loan.repay_loans,但是我收到了这个错误:
NoMethodError: undefined method `repay_loans' for Loan (call 'Loan.connection' to establish a connection):Class
from /Library/Ruby/Gems/2.0.0/gems/activerecord-4.1.4/lib/active_record/dynamic_matchers.rb:26:in `method_missing'
谢谢。
答案 0 :(得分:2)
好像你正在尝试将实例方法作为类方法运行。
如果您想要一个类方法,请将您的定义更改为
def self.repay_loans
...
end
否则,您需要使用正确的对象(repay_loans
类的实例)调用Loan
答案 1 :(得分:2)
嘿,因为你的代码def repay_loans是对象方法,你试图按类调用它,这样就会给你错误
您可以通过创建对象
来调用它 l = Loan.new
l.repay_loans
否则,如果你想在类级别上,那么你可以将你的方法定义为类方法,如:
def self.repay_loans