Lỗi liên quan đến người dùng không đổi không được xác định, tuy nhiên, để trả lời câu hỏi của bạn về phương pháp where ...
:city_of_birth != :favourite_city
Điều này sẽ luôn đúng, vì vậy bạn thực sự gọi ở nơi như thế này ...
User.where(true)
Tôi sợ điều này sẽ không làm được gì nhiều. Tôi nghĩ rằng bạn có thể nhầm lẫn với cú pháp điều kiện băm có thể được sử dụng. Điều đó cũng sẽ không có ích cho bạn. Bạn sẽ cần sử dụng điều kiện chuỗi như thế này ...
User.where('users.city_of_birth != users. favourite_city')
Đây thực chất chỉ là một đoạn mã SQL cuối cùng sẽ được đưa vào câu lệnh cuối cùng được gửi đến cơ sở dữ liệu.