2014-12-10 4 views
1

Это кажется, что это должно быть очень легко, но я не могу понять, как сделать этоКак вызвать валидатор «sibling»?

Я работаю на функцию, которая (в общем) позволяет эту точку зрения здесь (http://www.agileventures.org/projects), чтобы иметь изображения, связанные с проектом описания. Это достигается путем предоставления пользователем URL-адреса * изображению в представлении создания/редактирования проекта. Мне нужно проверить URL-адрес изображения несколькими способами, которые выполняются на этом этапе ... за исключением проверки его как действительно URL-адреса.

В последней версии это значение было подтверждено из [приложения/модель/project.rb], как

validates :image_url, uri: true, :allow_blank => true 

из моих валидаций, мне нужно переместить эту функцию на [LIB/валидатор/IMAGE_URL .rb]. Существует валидатор 'sibling' [lib/validators/uri_validator]. Я не могу, для жизни, понять, как это назвать.

Кодекс базы данных: https://github.com/sidhene/WebsiteOne/tree/image_url Помощь?

+0

Вы пробовали использовать * validate_with * метод? – Saravanan

+0

Не будет ли это сталкиваться с функцией «validate» Мне нужно вызвать в самом валидаторе? – alightholder

+0

@Saravanan похоже правый. Вместо 'validates: image_url ...' вы должны следовать шаблону из 'PivotalTrackerUrlValidator' и делать' validate_with ImageUrlValidator' – evanbikes

ответ

1

В этом случае я бы сказал, что вы должны использовать validate :image_url, uri: true, не считая своего собственного валидатора (ImageUrlValidator) в project.rb, как предложил Сараванан. Если вы получаете какие-либо ошибки при запуске своих спецификаций, plz опубликует сообщения об ошибках здесь, и мы можем их просмотреть.

+0

I думаю, что я просто закончу это. Его дополнительная строка в project.rb, но она сохраняет правильность URL-адреса отдельно и работает – alightholder