Например,
Пользователь добавляет это "iamsmelly.com".
И если я добавлю href к этому, ссылка будет
www.mywebsite.com / iamsmelly.com
Есть ли способ сделать его абсолютным, если перед ним не стоит http: //?
Или я должен вернуться к jQuery для этого?
Вероятно, хорошее место, чтобы справиться с этим - before_save на вашей модели. Я не знаю о предопределенном помощнике (хотя auto_link подходит довольно близко), но относительно простое регулярное выражение должно делать эту работу:
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
Я искал что-то подобное раньше, но не повезло. Я сделал вспомогательный метод так:
def ensure_absolute(str_link) (str_link.include?("http://") || str_link.include?("https://")) ? str_link : ("http://"+str_link) end