Валидация, специфичная для среды Rails - PullRequest
0 голосов
/ 21 октября 2009

Я использую этот плагин под названием validates -istence-of-uri в моей модели следующим образом:

class Project < ActiveRecord::Base
  validates_uri_existence_of :link, :allow_redirect => false
end

Работает и нормально. И у меня есть файл seed.rb, который заполняет данные с помощью Faker для генерации URL Итак, во время заполнения данных вышеупомянутая проверка пытается проверить этот поддельный URL-адрес, и я должен прокомментировать эту проверку при заполнении данных.

Итак, меня раздражает каждый раз, когда я делаю посев. Есть ли выход для выполнения этой проверки, только если среда Rails является рабочей ??

1 Ответ

2 голосов
/ 21 октября 2009

Чтобы строго ответить на ваш вопрос:

if Rails.env.production?
  validates_uri_existence_of :link, :allow_redirect => false
end

НО ПОЖАЛУЙСТА, НЕ ДЕЛАЙТЕ ЭТОГО. Это полный взлом, я думаю, вам лучше найти лучший способ создания тестовых URL, может быть, такой простой, как:

VALID_URLS = %w(http://google.com http://yahoo.com http://stackoverflow.com)

...

Project.create(:uri => VALID_URLS.rand)

ActiveSupport добавляет метод rand instance для Array, который возвращает случайный элемент.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...