验证Rails中输入字段的最后一个字母

时间:2018-12-08 13:09:47

标签: ruby-on-rails ruby

我如何验证发布到模型中的链接的最后一个字母?

示例:

[dropbox.com/dajnkqjknw7/file.mp3]
[dropbox.com/dajnkqjknw7/file.ogg]
[dropbox.com/dajnkqjknw7/file.wav]

我只想检查/验证最后3个(或4个)字母是否以.mp3,.ogg或.wav结尾,我该如何在模型中使用它,结合使用Regex和validates?

当前beat.rb模型:

class Beat < ApplicationRecord
  validates :bpm, format: { with: /\A\d+\z/ }, length: { maximum: 3 }
  validates :link, presence: true REGEX IN HERE?
end

1 个答案:

答案 0 :(得分:1)

您可以使用类似的东西

validates :link, presence: true, format: { with: /.(mp3|ogv|wav)\z/}

在您有句点.且在有效扩展名之一(mp3|ogv|wav)之后,就在行\z的末尾