Это пример кода, который ищет значение ключа внутри jsonb_column для name
ransacker :name do |parent|
Arel::Nodes::InfixOperation.new('->>', parent.table[:jsonb_column_here],
Arel::Nodes.build_quoted('name'))
end
ДО мы не используем столбец JSONB, и это работает для поиска с использованием значений даты и времени.
Ransack.configure do |config|
config.add_predicate 'between_begin_and_end',
arel_predicate: 'between_begin_and_end',
formatter: proc { |v| v.to_date },
validator: proc { |v| v.present? },
type: :string
end
module Arel
module Predications
def between_begin_and_end date
gteq(date.to_date.beginning_of_day).and(lt(date.end_of_day))
end
end
end
**Example data:**
jsonb_column {
"data_created_at"=>2020-03-23 05:10:46 UTC,
....
....
}
КАК включить мой предыдущий метод теперь в столбец JSONB.