Ruby on rails 在ruby on rails中使用regexp验证格式
我的要求: 添加验证以确保SITEMAP_URL关键字始终包含在search_engines.URL中,并且其格式应为Ruby on rails 在ruby on rails中使用regexp验证格式,ruby-on-rails,regex,validation,format,Ruby On Rails,Regex,Validation,Format,我的要求: 添加验证以确保SITEMAP_URL关键字始终包含在search_engines.URL中,并且其格式应为 类搜索引擎true、:presence=>true 验证:ping\u url,:format=>{:with=>/\=SITEMAP\u url$/},:presence=>true 结束 我写的验证是正确的。验证看起来不错 除非您希望/\=SITEMAP\u URL$/插值,否则它不会 它将只匹配字符串,如 "http://some.com?q=SITEMAP_URL"
类搜索引擎true、:presence=>true
验证:ping\u url,:format=>{:with=>/\=SITEMAP\u url$/},:presence=>true
结束
我写的验证是正确的。验证看起来不错 除非您希望
/\=SITEMAP\u URL$/
插值,否则它不会
它将只匹配字符串,如
- "http://some.com?q=SITEMAP_URL"
SITEMAP_URL = "/sitemap.xml"
那么你可以说
SITEMAP_REGEXP = /\=#{SITEMAP_URL}/
但这会将“.”解释为任何字符
因此您需要使用Regexp.escape
差不多
Regexp.new(Regexp.escape("=#{SITEMAP_URL}")+"$")
你应该做你想做的
Regexp.new(Regexp.escape("=#{SITEMAP_URL}")+"$")