2013-07-23 2 views
1

При создании RecommendPost, пользователь вводит в video_url, который является ссылкой на видео YouTube и запускает before_save :get_video_id, который должен обработать video_url получить video_idRails: проверка получить обойдена при использовании before_save

Например, пользователь создает @recommend_post, заполните https://www.youtube.com/watch?v=R9ITLdmfdLI, а затем :get_video_id, а затем мы получим video_id R9ITLdmfdLI. В конце все сохраняется в @recommend_post

Проблема в том, что validates_uniqueness_of :video_id здесь не работает. (Я хочу, чтобы видео youtube можно было рекомендовать только один раз.) Я полагаю, что проверка исключена методом before_save?

И как подтвердить video_id?

ответ

1

before_save вызывается и video_id заселено после проверки действительных. В этом случае вы подтверждаете уникальность nil, который пройдет, если :allow_nil => true.

Использование before_validate callback для заполнения video_idдо проверка.

Смежные вопросы