Разобраться в обязательном поле для создания объекта rails console
Мне интересно, есть ли команда, которая скажет вам, какие поля вам нужно заполнить, чтобы создать объект>
Пример:
у меня есть User(name, password, email, zip code)
таблица, со следующими проверками:
validates :name, :password, :email, presence: true
Для того, чтобы использовать: User.create
Я должен дать ему имя, пароль и адрес электронной почты, чтобы добиться успеха.
Поскольку у меня есть несколько таблиц с более чем 20 полями, и я не хочу проверять проверки каждый раз, когда я создаю объект, есть ли команда (для использования на консоли rails), которая перечисляет все поля, которые должны присутствовать?
1 ответ
Вы можете использовать метод валидаторов для PresenceValidator.
С такой моделью:
class Commentary < ActiveRecord::Base
belongs_to :user
belongs_to :match
validates_presence_of :content, :match_id
end
Когда вы делаете:
Commentary.validators
.select { |validation| validation.to_s.include?('PresenceValidator') }
.map{|validation| validation.attributes }
.flatten
ты получаешь:
[:content, :match_id]
Это ваши обязательные поля при создании ActiveModel.