2015-12-16 2 views
2

У меня есть модель Notification с параметром notification_objects. Notification.first.notification_objects возвращает массив хэшей. Я создал переменную @notification_objects, которая содержит массив хэшей с теми же парами ключ/значение (кроме символов вместо строк для ключей). Как я могу найти этот первый Notification с помощью Notification.where()? Строка ключей в @notification_objects не работает. Я использую Postgres 9.4 и Rails 4.2.Проблема с Rails Активный запрос записи с параметрами JSON

[18] pry(main)> Notification.first.notification_objects 
=> [{"class_name"=>"Ad", "ar_object_id"=>1}] 

[19] pry(main)> @notification_objects 
=> [{:class_name=>"Ad", :ar_object_id=>1}] 


# both as_json and to_json do not work here: 
[20] pry(main)> Notification.where(notification_objects: @notification_objects.as_json) 
=> [] 

[21] pry(main)> @notification_objects.as_json 
=> [{"class_name"=>"Ad", "ar_object_id"=>1}] 

[22] pry(main)> Notification.first.notification_objects.as_json == @notification_objects.as_json 
=> true 
+0

Какой DB вы используете? 'notification_object' является строковым типом в db? – NickGnd

+0

Использование Postgres 9.4 – user3809888

ответ

Смежные вопросы