У меня есть 3 соответствующие модели в приложении Rails 4 - Charge:Rails 4 пользовательских метод в модели, без контроллера
class Charge < ActiveRecord::Base
belongs_to :rate
belongs_to :shift
def total
self.rate.value * self.quantity
end
end
Оценить:
class Rate < ActiveRecord::Base
has_many :charges
end
и сдвиг:
class Shift < ActiveRecord::Base
has_many :charges
def total_charge
self.charges.sum('total')
end
end
Я пытаюсь использовать shift.total_charge на мой взгляд, но я получаю ошибку:
SQLite3::SQLException: no such column: total: SELECT SUM(total) FROM "charges" WHERE "charges"."shift_id" = ?
Таким образом, невозможно определить общее количество в модели Charge таким образом и иметь доступ к сумме из модели Shift в качестве фактического столбца. Я изо всех сил стараюсь найти подходящий Rails 4 способ сделать это - возможно ли это сделать в модели или мне нужно создать контроллер для Charge и попытаться сделать там расчет?
В какой таблице вы имеете столбец 'total'? –
У меня нет столбца 'total' - это метод в модели Charge. –
O i see, missinged .. –