Эксперимент по решению проблемы с достижением виртуальных атрибутов модели в другом контроллере.Есть ли способ сделать это?
Вот виртуальные атрибуты:
def montant
self.facture_details.sum(:montant_detail)
end
def paiements
self.facture_paiements.sum(:montant)
end
def facture_statut
if self.paiements < self.montant
then
"Ouverte"
else
"Payée"
end
end
И в другом контроллере я пытаюсь сделать:
@factures = Facture.find(:all, :conditions => {:facture_statut => 'Ouverte'})
КогдаЯ делаю это, я получил сообщение об ошибке:
SQLite3::SQLException: no such column: factures.facture_statut: SELECT "factures".* FROM "factures" WHERE "factures"."facture_statut" = 'Ouverte'
Есть ли кто-нибудь, чтобы помочь мне с этим?
Спасибо
Обновление;вот полная модель:
class Facture < ActiveRecord::Base
has_many :facture_details, :dependent => :destroy
has_many :facture_paiements
accepts_nested_attributes_for :facture_details, :allow_destroy => true
accepts_nested_attributes_for :facture_paiements
attr_accessor :facture_statut
attr_accessor :montant
attr_accessor :paiements
def montant
self.facture_details.sum(:montant_detail)
end
def paiements
self.facture_paiements.sum(:montant)
end
def facture_statut
if self.paiements < self.montant
then
"Ouverte"
else
"Payée"
end
end
end