рельсы - :joins санация/замена
-
19-09-2019 - |
Вопрос
Можно ли указать параметры для :joins так же, как для :conditions?
вот пример (код sql не имеет значения)
named_scope :threads, {
:joins => [" LEFT JOIN groups_messages gm ON messages.id=gm.message_id AND gm.group_id IN (?) ",@group_ids_array],
:conditions => ["creator_id=? AND messages.id IN (?)", current_user_id, @message_ids_array]
}
в этом примере параметры для :conditions будут вставлены правильно, но для :joins я получу ошибку
Association named ' LEFT JOIN groups_messages gm ON messages.id=gm.message_id and gm.group_id IN (?) ' was not found; perhaps you misspelled it?
какая функция заменяет параметры на :conditions?
Решение
Вы можете использовать ActiveRecord::sanitize_sql_array метод.
ActiveRecord::sanitize_sql_array ['gm.group_id IN (?)', @group_ids_array]
Не связан с StackOverflow