Используя Mongoid, я пытаюсь проверить ввод :code в форме отправки, чтобы убедиться, что они используют правильный код, который уже хранится в базе данных. Существует около 2000+ кодов, поэтому сбор массива вспомогательных методов невозможен.
Как это лучше всего сделать?
Я думал о проверке включения, например:
class Request
include Mongoid::Document
field :code, type: String
validates :code, :presence => true,
:inclusion => { :in => proc { Listing.all_codes } }
end
Затем модель со всеми сохраненными кодами, например:
class Listing
include Mongoid::Document
field :code, type: String
def self.all_codes
where(:code => exists?) # <--- this is broken
end
end
Но я не могу заставить это работать так, как мне хотелось бы. Любая обратная связь будет высоко оценена.