Проверки для логического типа - PullRequest
2 голосов
/ 28 июня 2011

Должен ли я написать какие-либо проверки для атрибутов типа логический в моей схеме?

create_table "table_name", :force => true do |t|
  t.boolean "column", :default => true
end

Установка столбца в «asdasd» приводит к значению false после .save. Нужно ли беспокоиться о каких-либо странных значениях, отправляемых через POST (я пишу метод обновления для моего контроллера), может привести к чему-то опасному?

Ответы [ 2 ]

1 голос
/ 28 июня 2011

Вероятно, это хорошая идея для проверки, так как в противном случае вы можете получить неожиданные результаты. Это должны сделать вы:

validates_inclusion_of :column, :in => [true, false]

Это также предотвратит нулевые значения. Если вы хотите разрешить это, установите :allow_nil => true.

0 голосов
/ 28 июня 2011

В общем случае, проверку лучше проводить, особенно если это поле является чувствительным. Если поле похоже на поле, которое допускает некоторую периодическую проверку выставления счетов, и если отправляется какая-то случайная строка, поскольку по умолчанию установлено значение true, оно стать реальностью. Полезно добавлять валидации, учитывая, что в Rails это проще:)

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