2016-12-24 7 views
0

私はpriceという名前のアイテムを持つモデルという名前のアイテムを持っています。モデル内にインスタンス変数として列が格納されると仮定しましたが、方法はモデルの中からプロパティにアクセスする方法rails

def price 
    @price 
end 

戻りません。だから私の質問はどのように私はモデルの中から価​​格にアクセスするのですか?

余分な情報

のように、これは私がスペシャルをチェックし、特別がアクティブである場合、価格を変更していない場合だけで、それを残し方法 価格をしたいので、アイテムは時々スペシャルを持っている何かをするための私の理由
def price 
    check_for_special 
    @price 
end 
+0

新しい質問を編集しないでください。 – Iceman

答えて

1

ActiveRecordは、データベースフィールドに関連付けられたセッターメソッドとゲッターメソッドを自動的に生成します。 priceは同じ名前のフィールドのゲッターメソッドになります。

priceメソッドを追加すると、ActiveRecordで作成されたメソッドを上書きしてしまいます。既存のメソッドを上書きするときは、superを呼び出して元のメソッドにアクセスできます。だから、これに可能性:あなたは通常ちょうどそれが常に別のメソッドを呼び出さずに、価格の値を取得する方法を必要とするよう

def price 
    check_for_special 
    super 
end 

しかし、私は、それをやってお勧めしませんと思います。したがって

def price_with_check 
    check_for_special 
    price 
end 
関連する問題