Я недавно обновился до Rails 5.2.X и теперь получаю предупреждение об устаревании:
ПРЕДУПРЕЖДЕНИЕ О УСТАРЕВАНИИ: опасный метод запроса (метод, аргументы которого используются как необработанный SQL), вызываемый сАргумент (ы) атрибута: "LOWER (projects.name) desc".Аргументы без атрибутов будут запрещены в Rails 6.0.Этот метод не должен вызываться с предоставленными пользователем значениями, такими как параметры запроса или атрибуты модели.Известные безопасные значения можно передать, обернув их в Arel.sql ().
Я знаю, что это сообщение об устаревании обсуждается здесь .
НоТем не менее я борюсь с правильным синтаксисом.
Это мой метод:
def optimized_sort_column
column_type == :string ? "LOWER(#{unique_sort_column})" : unique_sort_column
end
Я пытался изменить его на:
def optimized_sort_column
column_type == :string ? Arel.sql("lower(#{unique_sort_column})") : unique_sort_column
end
Но яя все еще получаю то же предупреждение об устаревании.
Что мне здесь не хватает?