Ruby on rails 如果用户提供的链接不是绝对链接,是否有ruby帮助程序可以从中创建绝对链接?

Ruby on rails 如果用户提供的链接不是绝对链接,是否有ruby帮助程序可以从中创建绝对链接?,ruby-on-rails,jruby,Ruby On Rails,Jruby,比如说, 用户添加了这个“iamsoothy.com” 如果我在这里添加一个href,链接将是 www.mywebsite.com/iamsoothy.com 如果它的前面没有http://,有没有办法使它成为绝对值 或者我应该回到jQuery来处理这个问题吗?在您的模型上保存之前,在中可能是一个处理这个问题的好地方。我不知道预定义的帮助程序(虽然auto_link有点接近),但是一个相对简单的regexp应该可以完成这项工作: class User < ActiveRecord::Bas

比如说,

用户添加了这个“iamsoothy.com”

如果我在这里添加一个href,链接将是

www.mywebsite.com/iamsoothy.com

如果它的前面没有http://,有没有办法使它成为绝对值


或者我应该回到jQuery来处理这个问题吗?

在您的模型上保存之前,在
中可能是一个处理这个问题的好地方。我不知道预定义的帮助程序(虽然
auto_link
有点接近),但是一个相对简单的regexp应该可以完成这项工作:

class User < ActiveRecord::Base
   before_save :check_links
   def check_links
     self.link = "http://" + self.link unless self.link.match /^(https?|ftp):\/\//
   end
end
class用户
我以前找过类似的东西,但运气不好。我制作了一个助手方法,如下所示:

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

对不起,我有点傻。在保存之前,您将如何实现这一点?怎么做呢?我更新了答案以显示在保存之前是如何实现
的。Rails中的
auto\u link
不是这样做的吗?