別のコントローラでモデルの仮想アトリビュートを達成しようとすると、問題が試行されます。 これを行う方法はありますか?他のモデルコントローラで使用されている3つの仮想アトリビュート
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
、別のコントローラに私がやろうとしている:
SQLite3::SQLException: no such column: factures.facture_statut: SELECT "factures".* FROM "factures" WHERE "factures"."facture_statut" = 'Ouverte'
:私はこれを行うと
@factures = Facture.find(:all, :conditions => {: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
モデルに 'facture_statut'が' attr_accessible'として宣言されていますか?例えば'attr_accessible:facture_statut? – ScottJShea
Yeap。しかし、作業していません... – Dannoel
まだ取得しています:SQLite3 :: SQLException:いいえそのような列:factures.facture_statut:SELECT "factures"。* FROM "factures" WHERE "factures" "facture_statut" = 'Ouverte' – Dannoel