【问题标题】:Datamapper not accepting regex数据映射器不接受正则表达式
【发布时间】:2012-09-13 22:39:08
【问题描述】:

我正在使用正则表达式来验证我的 sinatra 应用程序中使用 data_mapper gem 发送到我的数据库的表单字段。我在模型中用于该字段的代码是:

property :price, Float, :required => true, :format => /\$?\d{0,3}\.{1}\d{2}/

它正在从参数中保存:

b.price = params[:price]

但是,当我尝试保存时,我不断收到无效格式错误。我用rubular 检查了我的正则表达式,它似乎工作正常。有人知道出了什么问题吗?

【问题讨论】:

    标签: ruby-on-rails ruby regex sinatra datamapper


    【解决方案1】:

    这并不完美,但这是我目前正在做的解决方案:

    property :price, Float, :required => true 
    validates_format_of :price, :with => /\$?\d{0,3}(\.{1}\d{2})?/
    

    然后:

    c = params[:price]
    c[0] == "$" ? b.price = c[1,7] : b.price = c
    

    所以如果有一个“$”,我只是将数字保存到 b.price 没有它,否则整个事情都会设置为 b.price。我觉得应该有更好的方法...

    【讨论】:

      猜你喜欢
      • 2023-03-24
      • 1970-01-01
      • 2015-06-19
      • 2017-04-06
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多