У меня есть две таблицы: User
, table1
и table2
. User has_many table1
. User has_many table2
. table2
имеет 3 столбца: column1
, column2
, column3
. Я хочу умножить значение в column1
и column2
на число и сохранить его в column3
.
В моем файле table2.rb
я определил этот метод:
def calculate(tablerow)
tablerow.column3 = (tablerow.column1 * 1) + (tablerow.column2 * 2)
end
У меня есть метод в table1Controller
, который имеет метод что-то сделать. Затем этот метод вызывает приведенный выше метод table2#calculate
и передает соответствующий параметр.
Когда я вызываю метод calculate
, я получаю следующее сообщение об ошибке:
NoMethodError in table1Controller#dosomething
undefined method `*' for nil:NilClass
Теперь я знаю, что в методе calculate
что-то не так. Но я не уверен, как добиться того, чего я пытаюсь достичь, а именно просто выполнить вычисление значения 2 столбцов и сохранить сумму в третьем столбце. Мое приложение использует SQLite3.