Как организовать правильную сортировку при использовании MTI в RoR, чтобы избежать SQL инъекций?
задал antvinogradov 3 месяца назад
к скринкасту Язык запросов ActiveRecord, методы .order и .limit.
У меня такая задача. Необходимо организовать сортировку. Пользователь, кликая на название столбца, получал бы сортировку по данному столбцу. Отсюда два вопроса:
1. Я раньше делал @model = Model.order(params[:sort]), но после урока понял, что это может быть "убито" SQL инъекциями. Как этого избежать? Хотя у меня самого не получилось сделать эту инъекцию)) вот таким способом, дописывая drop table model
2. У меня не работает сортировка с мультитабичным наследованием. Выдается ошибка — PG::Error: ERROR: column "manufacturer" does not exist. Причем, выдается ошибка тогда, когда я пытаюсь сортировать по данным из "родительского" объекта. Когда сортирую по данным из объекта "наследника", то все работает. Не понимаю, в чем дело.
Буду рад на помощь/наводку.
1. Я раньше делал @model = Model.order(params[:sort]), но после урока понял, что это может быть "убито" SQL инъекциями. Как этого избежать? Хотя у меня самого не получилось сделать эту инъекцию)) вот таким способом, дописывая drop table model
2. У меня не работает сортировка с мультитабичным наследованием. Выдается ошибка — PG::Error: ERROR: column "manufacturer" does not exist. Причем, выдается ошибка тогда, когда я пытаюсь сортировать по данным из "родительского" объекта. Когда сортирую по данным из объекта "наследника", то все работает. Не понимаю, в чем дело.
Буду рад на помощь/наводку.