2017-02-10 15 views
0

私はオンラインストアを持っています。列価格があります(宝石を使用するmoney)。そして列 "割引"があります。そして、店長が価格を列 "割引"に記録する場合、店は価格を表示する必要があります(列 "割引")。私はモデルで "価格"を上書きする必要があると思う。私は列 "価格"にアクセスする方法を知らないのですか?メソッド内の値をオーバーライドします

class Item < ActiveRecord::Base 
    monetize :price_cents 
    monetize :discount_cents 


    def price 
    if self.discount > 0 
     self.discount 
    else 
     ? 
     If I call, 
     self.price 
     it turns out called once again this method. 
     self[:price] 
     = nil, why? 
    end 
    end 
end 
+1

'read_attribute(:price)'を試してください。もし 'read_attribute(:price)=> nil'なら – eugen

+0

です。 'price =>#' –

+0

私が見るところでは、あなたはカラムではなくメソッド価格を持っているようです。移行またはスキーマからテーブル定義を表示できますか? –

答えて

1

super仕事、またはスタッフのこの種のdecoratorsを使用して検討することができます。

関連する問題