0
私は車のエンジンサイズが であるため、ユーザーは2.5(リットルのような)または2500(cc)のようなものを書くことができます 後で並べ替えがあり、 -9999比較する値保存する前に整数値を変換するレール
私は以下の機能を思いついたが、もっと柔軟にしたいと思う。さらに、before2saveをトリガする前に値を変換するRailsのように見えるため、2.5の結果が出る
入力にポイントまたはカンマがある場合、変換権を作って検出するにはどうすればよいですか?
before_save :covert_engine
private
def covert_engine
if self.car_engine_size.present?
if Math.log10(self.car_engine_size).to_i + 1 < 4
self.car_engine_size = self.car_engine_size * 1000
end
end
end
P.S. self.car_engine_sizeはデータベース内の整数です
http://api.rubyonrails.org/classes/ActiveRecord/AttributeMethods/BeforeTypeCast.html – max