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
我希望股票只是整数.当我提交浮点值为34.48的股票然后在服务器日志中的插入sql cmd时,我只看到34,并且它没有达到上面的验证条件,即使我发送浮点数,验证条件是如何可能是怎么回事? (对rails很新,希望这个问题有意义).
解决方法
已存在用于检查
validates_numericality_of
中的整数的功能 – 只需将:only_integer设置为true
您可以根据rails documentation在活动记录模型中使用验证.
validates :your_column_name,numericality: { only_integer: true }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。