Cześć,
Słabo znam składnię Arel.
Mam funkcję, która w swojej klasycznej formie wygląda tak:
def filter_custom_column_condition
->(column) { ::Arel::Nodes::SqlLiteral.new(column.field.to_s).matches("#{ column.search.value }%") }
end
Ponieważ pragnę zrealizować warunek odwołujący się do innej tabeli zrobiłem tak:
def filter_custom_column_condition
->(column) {
sql_str = "(customers.id IN (SELECT projects.customer_id FROM projects WHERE projects.number ilike '%#{column}%'))";
::Arel::Nodes::SqlLiteral.new("#{sql_str}")
}
end
To działa(! ) ale nie podoba mi się ten kod.
Czy ktoś może zapisać mi ten warunek używając tylko składni Arel::Nodes::..
… ?