Имя моей модели: UserLimit
, столбец value
имеет значение text
.
class UserLimit < ApplicationRecord
store :value, coder: Hash, accessors: %I[limit_1 limit_2 limit_3]
end
. Теперь содержимое столбца значения для объекта
{
"limit_1=>{"requested_at"=>2019-05-18 19:09:12 UTC, "range"=>nil},
"limit_2"=>
{"daily"=>{"requested_at"=>Tue, 28 May 2019 00:00:00 UTC +00:00, "old_point"=>10, "new_points"=>10},
"weekly"=>{"requested_at"=>Fri, 17 May 2019 00:00:00 UTC +00:00, "old_point"=>30, "new_point"=>30},
"monthly"=>{"requested_at"=>Fri, 17 May 2019 00:00:00 UTC +00:00, "old_point"=>20, "new_point"=>20}},
"limit_3"=>
{"daily"=>{"requested_at"=>Fri, 17 May 2019 00:00:00 UTC +00:00, "old_value"=>40, "new_value"=>40},
"weekly"=>{"requested_at"=>Fri, 17 May 2019 00:00:00 UTC +00:00, "old_value"=>60, "new_value"=>60},
"monthly"=>{"requested_at"=>Fri, 17 May 2019 00:00:00 UTC +00:00, "old_value"=>50, "value"=>50}},
}
* 1009.* Теперь мы хотим, чтобы все те ограничения, которые были установлены
limit_1
и
value
в
range
, не nil
Я пробовал много вещей, но ни один из них не работает. post похоже на мою проблему, но у нас есть 2 уровня вложенности.
Сейчас я использую like
query
UserLimit.where("value like ?", "%range%").first
Это работаетпрямо сейчас, но как я могу получить user_limits с limit_2
weekly
установленным?
Спасибо и заранее