小编roa*_*ror的帖子

仅将属性验证为整数

product.rb模型文件:

class Product < ActiveRecord::Base
  validates_numericality_of :price
  validates_numericality_of :stock, if: Proc.new { |p| (p.stock.is_a? Integer and p.stock >= 0) ? true : false }

  def price=(input)
    input.delete!("$")
    super
  end
end  
Run Code Online (Sandbox Code Playgroud)

我希望股票只是整数.当我提交浮点值为34.48的股票然后在服务器日志中的插入sql cmd时,我只看到34,并且它没有达到上面的验证条件,即使我发送浮点数,验证条件是如何可能是怎么回事? (对rails很新,希望这个问题有意义).

ruby activerecord ruby-on-rails

7
推荐指数
1
解决办法
4335
查看次数

标签 统计

activerecord ×1

ruby ×1

ruby-on-rails ×1