使用 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
但我似乎无法让它以我想要的方式运行。任何反馈将不胜感激。