Trong Rails 2.x bạn có thể sử dụng kiểm chứng thực để đảm bảo bạn có một giá trị duy nhất kết hợp như thế này:Rails 3: Xác nhận kết hợp các giá trị
validates_uniqueness_of :husband, :scope => :wife
Trong cuộc di cư tương ứng nó có thể trông như thế này:
add_index :family, [:husband, :wife], :unique => true
Điều này sẽ đảm bảo kết hợp vợ/chồng là duy nhất trong cơ sở dữ liệu. Bây giờ, trong Rails 3 cú pháp xác nhận đã thay đổi và thuộc tính scope dường như đã biến mất. Nó bây giờ trông giống như:
validates :husband, :presence => true
Bất kỳ ý tưởng nào tôi có thể đạt được xác thực kết hợp trong Rails 3? Xác nhận Rx 2.x vẫn hoạt động trong Rails 3 vì vậy tôi vẫn có thể sử dụng ví dụ đầu tiên nhưng có vẻ "cũ", có cách nào tốt hơn không?
Tôi chỉ xác nhận điều này hoạt động trong ứng dụng của riêng tôi. – epochwolf
Điều này nghe có vẻ tuyệt vời và sạch sẽ và tất cả nhưng ... nó không hoạt động trong dự án mẫu của tôi 'một mô hình' tôi đã thử. Các bạn có làm gì đặc biệt không? Tôi đã sử dụng 2 chuỗi và cũng đã thử với 2 số nguyên nhưng xác thực vừa qua. – Cimm
Tôi đang sử dụng 'validates: contents,: presence => true,: uniqueness => {: scope =>: comment_thread_id,: message =>" đã được nói rồi, hãy thêm một cái gì đó có ý nghĩa "}' – epochwolf