Я собрал данные и сохранил их в одной таблице.total
, levelone
, leveltwo
, levelthree
, rateone
, ratetwo
, ratethree
и earn
хранятся в таблице "Rate"
, которая вводится пользователем.
Я написал код для извлечения данных из таблицы и выполнения расчетов следующим образом:
if @rate.total < @rate.levelone
@rate.earn = @rate.total * @rate.rateone
@earn = @rate.earn
elsif @rate.levelone < @rate.total <= @rate.leveltwo
@rate.earn = @rate.levelone * @rate.rateone
+(@rate.total - @rate.levelone) * @rate.ratetwo
@earn = @rate.earn
elsif @rate.leveltwo < @rate.total <= @rate.levelthree
@rate.earn = @rate.levelone* @rate.rateone
+(@rate.leveltwo - @rate.levelone) * @rate.ratetwo
+(@rate.total - @rate.leveltwo) * @rate.ratethree
@earn = @rate.earn
Он показывает:
undefined method `total' for nil:NilClass
Я не знаю, что произошлоВот.Есть ли способ извлечь данные и сравнить их?
Я использовал form_for для создания действия, после сохранения в базе данных я взял некоторые данные для сравнения и после этого сохранил результат в другом столбце., довольно сложный, как это:
create_table: rate do | t |
t.decimal :total
t.decimal :earn
t.decimal :levelone
t.decimal :leveltwo
t.decimal :levelthree
t.decimal :rateone
t.decimal :ratetwo
t.decimal :ratethree
total, levelone, two, three и rateone, два три из пользовательского ввода, будут сохранены всначала база данных, после чего я использую данные для сравнения и расчета, приведенных выше, после того, как данные о них заработают, они также будут сохранены.и показать результат пользователю.я должен сделать последний шаг с помощью обновления?спасибо всем