Trong một initializer Tôi có một khổng lồ COUNTRY_CODES băm, với định dạng:Validate mô hình trường: nếu giá trị tương đương với một chìa khóa trong một hash
{ :us => "United States, :de => "Germany" }
Trong mô hình của tôi, tôi muốn xác nhận rằng giá trị nhập vào là:
- hiện
- một chìa khóa mã băm đất nước tôi
Làm thế nào để tôi sử dụng điều này?
tôi không thể sử dụng:
validates :country, :presence => true,
:inclusion => { :in => COUNTRY_CODES }
tôi đã cố gắng xác nhận tùy chỉnh, nhưng tôi nhận được lỗi phương pháp khi giá trị là con số không, ví dụ khi tôi cố gắng sử dụng value.to_sym, khiến tôi xác thực trình xác thực và nó trở nên lộn xộn.
Cố gắng tìm ra cách hiệu quả nhất về DRY và hiệu quả.
FYI, mặc định để đưa vào là: allow_nil => false, không cần sự hiện diện của xác thực. – efoo