我在模型中有这些语句:
before_save :add_http
protected
def add_http
if (/^http\:\/\/.+$/.match(url)) == nil
str = "http://" + url
url = str
end
end
我已经检查了控制台中的正则表达式,它似乎是正确的,但是当“url”保存到数据库时,“http://”尚未添加。有什么想法吗?
最佳答案
不确定这对您是否重要,但您的正则表达式不适用于 https URL。这应该可行:
def add_http
self.url += "http://" if self.url.match(/^https?\:\/\/.+$/).nil?
end
关于ruby-on-rails - Ruby on Rails 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/840690/