Rails: метод для стандартизации ввода URL-адресов от пользователей? - PullRequest
4 голосов
/ 13 июля 2011

Мне бы хотелось, чтобы пользователи моего приложения на Rails могли делиться ссылкой на свой личный веб-сайт в своем профиле.Достаточно просто, у меня есть столбец с именем website и текстовое поле, которое они могут заполнить, чтобы заставить его работать.

Однако, когда я отображаю это в виде, возникает проблема.Если я использую помощник link_to, то будет ли человек, включивший http://, определять, будет ли работать URL.Но если я автоматически добавлю http://, то получу его дважды для пользователей, которые DID поместили его в свой URL.

Я уверен, что это довольно распространенная проблема, но я не смог найтилюбые хорошие сообщения в блоге или SO вопросы, которые касаются этого.

Мой вопрос: Как вы обрабатываете ввод URL-адресов от пользователей в ваших приложениях?Что бы вы посоветовали в качестве наиболее удобного способа стандартизировать URL, которые в конечном итоге хранятся в БД?

Спасибо!

1 Ответ

6 голосов
/ 13 июля 2011

Если я правильно понимаю вашу проблему, я, вероятно, удостоверился бы, что всякий раз, когда пользователь сохраняет свои данные, он проверяет и изменяет (при необходимости) атрибут веб-сайта, используя что-то вроде следующего.

class User
  before_save :sanitize_website

  def sanitize_website
    unless self.website.include?("http://") || self.website.include?("https://")
      self.website = "http://" + self.website
    end
  end
end
...