2015-08-12 2 views
0

У меня есть способ def repay_loans в class Loan < ActiveRecord::Base, как я могу запустить его в консоли рельсов.Запуск метода активного типа записи с терминала

Я попытался 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' 

Спасибо.

ответ

2

Эй, как Пер ваш код def repay_loans - это метод объекта, который вы пытаетесь назвать его классом, чтобы он дал вам ошибку

Вы можете позвонить ему, создав объект

l = Loan.new 
l.repay_loans 

в противном случае, если вы хотите его на уровне класса, то вы можете определить свой метод как метод класса, как:

def self.repay_loans 
2

Похоже, вы пытаетесь запустить метод экземпляра как метод класса.

Если вы хотите иметь метод класса, то изменить определение

def self.repay_loans 
    ... 
end 

В противном случае вам нужно вызвать repay_loans с правильным объектом (экземпляр класса Loan)

+0

Если изменить имя класса self.repay_loans я все еще получаю ту же ошибку при запуске ссуды. repay_loans. – Pabi

+0

не имя класса, определение метода. скорее всего, вам нужно перезагрузить консоль. – xlembouras

+0

@Pabi вам нужно перезагрузить консоль, используя перезагрузку! метод после изменения в классе –

Смежные вопросы