Я одна таблица называется posts
Найти запись с хэш-значением в рельсах
create_table "posts", force: :cascade do |t|
t.text "values"
end
Мои записи значения
#<Post id: 1, values: {"p1"=>"1", "p2"=>"xyz"}>
#<Post id: 2, values: {"p1"=>"1", "p2"=>"abc"}>
Я хочу, чтобы найти запись с поста, где values[:p2] = "abc"
Почему вы храните значения хэша в своей БД? Почему бы не создать два столбца, один для 'p1' и один для' p2'. Затем вы можете запросить его с помощью 'posts.where (p2: 'abc')'. – nicholas79171
Wait .. какой? Значения JSON сохраняются как текст? это действительно уродливо и непригодно. эти p1, p2 .. должны быть общими? и почему бы вам не использовать 't.json'? – siegy22
Рельсы также имеют тип данных для хранения значений хэша: hstore, вы можете использовать его как t.hstore. – Navin