Railsでチェックボックスがチェックされている場合、属性を0に設定する

私は10進数であるstarting_ptと呼ばれるdb列を持っています。 私がチェックするとチェックボックスが欲しい、というのもstart_pt = 0.0

私はモデルにvirt attrをセットアップし、それをアクセサリーに追加しました

attr_acessor :reset
attr_accessible :reset

私はセットアップしました

before_create :reset_starting_pt, :if => :reset?

def reset?
    @reset == "1"
end 

def reset_starting_pt
    @starting_pt = 0.0
end 

これは、チェックされたチェックボックスが「1」に等しく、チェックされていないチェックボックスが「0」に等しいと仮定している。

この解決法は機能しません。どのようにこれを行うにはどのような指導者が提供することができますすべての指導は、非常に有用です、ありがとう!

0
多分私は間違ってテストしていますか?コンソールでこれをrspecでテストする方法の提案?
追加された 著者 Gornik,

1 答え

リセット用のセッターメソッドを作成して、 "0"を指定すると@starting_ptインスタンス変数をリセットすることができます。

def reset= val
  @starting_pt = 0.0 if 0 == val.to_i
end
0
追加された
私はこれを私のモデルに追加しましたが、まだ動作していません。
追加された 著者 Gornik,