Мое приложение использует необработанный запрос SQL, а не объект activerecord.Я не могу использовать представление, поскольку столбцы запроса являются переменными, в зависимости от конфигурации пользователя.(управляемый таблицей)
Я выполняю запрос с помощью оператора ActiveRecord :: Base.connection.execute
ActiveRecord::Base.connection.execute <<-SQL
SELECT
#{[items_fields, generate_item_number, role_type_fields.presence,
milestone_state_columns.presence, codes_fields].compact.join(', ')}
FROM items ...
, который не возвращает отношение ActiveRecord.Тем не менее, я должен отфильтровать результат на основе правил настройки в канкан.
Я пытался переписать этот запрос с использованием синтаксиса ActiveQuery, чтобы вернуть отношение AR, но оно очень медленное.
В идеале я хотел бы либо
- Вернуть результаты этого запроса в виде отношения activerecord к цепочке для available_by
- Использовать cancan для возврата условия, которое я могзатем используйте в моем необработанном предложении WHERE предложение.