Как решать кейсы по Ruby on Rails на собеседовании?

изображение

Многие фронтендеры на западе любят и изучают Ruby on Rails. В России же он встречается реже, поэтому кейсы по этому фреймворку на собеседовании могут вогнать в стресс. Чтобы такого не произошло, разберем несколько самых типичных вопросов.

Кейс:

Представь, что у тебя есть форма обратной связи, где важно, чтобы пользователь указал контактную информацию. Другими словами, у тебя есть модель с несколькими полями, как бы ты добавил к ним проверку?

Этот вопрос показывает, насколько хорошо ты знаешь основы Rails. Обрати внимание, что обычно лучше обратиться к документации Rails, чтобы узнать, как добавить определенные типы проверки. Однако на собеседовании тебе нужно знать на память, какие опции доступны, и уметь вспомнить имена функций и методов.

Например, интервьюер может спросить тебя, как ты гарантируешь, что поля name и email не будут пустыми для модели «SurveyResponse». 

Как решить такую задачу? Директива validates обеспечит проверку:

presence: true проверяет, что поля name и email не пустые. Это означает, что при попытке сохранить объект SurveyResponse в базу данных без значений в этих полях, Rails не выполнит сохранение и добавит сообщения об ошибках к вашему объекту.

изображение

Также интервьюер может попросить тебя убедиться, что определенное поле уникально. Ведь тебе не нужны дублирующиеся контакты в твоей форме. Например, чтобы при регистрации пользователей предотвратить создание нескольких учетных записей с одним и тем же email.

Как проверить?

изображение

Для решения таких задач стоит заранее изучить доступную документацию, чтобы потом быстро вспоминать такие вещи. 

Например, Rails Guide to Validation содержит дополнительную информацию о валидаторах и о том, как их использовать.