2010-05-13 38 views

回答

3

可能是一个好的地方来处理这是在你的模型before_save。我不知道一个预定义的帮手(虽然auto_link来有点接近),但相对简单的正则表达式应该做的工作:

class User < ActiveRecord::Base 
    before_save :check_links 
    def check_links 
    self.link = "http://" + self.link unless self.link.match /^(https?|ftp):\/\// 
    end 
end 
+0

对不起,我有点蠢。你将如何实现这before_save?如何? – Trip 2010-05-13 19:01:05

+0

我更新了答案以显示如何实现'before_save'。 – 2010-05-13 20:22:18

+0

你真棒! :d – Trip 2010-05-13 21:08:06

2

我已经看了,没有运气以前类似的东西。我做了这样的帮手方法:

def ensure_absolute(str_link) 
    (str_link.include?("http://") || str_link.include?("https://")) ? str_link : ("http://"+str_link) 
end 
相关问题