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
しかし、これを思い通りに機能させることができないようです。どんなフィードバックでも大歓迎です。