В Rails для проверки информации вы можете использовать проверки или ограничения базы данных.В Rails, когда вы должны использовать проверки в отличие от ограничений базы данных?
т.е.
миграция:
t.string "name", :limit => 25
Validation от модели:
validates_length_of :name, :maximum => 25
Я понимаю, что валидация предотвратить форму от представления и ограничение миграции/баз данных будет препятствовать данным из экономии в базу данных. Но просто любопытно, когда вы должны использовать проверки или ограничения базы данных или оба одновременно?
У меня будут разные мнения, я думаю, но я всегда делаю оба, когда это возможно. – Iceman
Я думаю, что проверки повышают гибкость, легче меняются и лучше обрабатывают сообщения об ошибках ... и могут быть предпочтительнее, если вход поступает от пользователей. Оба являются безопасными, поскольку вы убедитесь, что он не войдет в вашу БД. –
@KcUS_unico Обратите внимание, что проверки уникальности на моделях на самом деле не гарантируют уникальность в БД, когда у вас есть несколько потоков/процессов, запускающих ваше приложение - см. Мой ответ ниже. –