Не могу понять синтаксис для этого запроса AR - PullRequest
0 голосов
/ 07 июля 2011

Я пытаюсь выполнить этот запрос:

Result.where('link = #{site}').present?

, где site - строка.Однако проблема с кодом выше состоит в том, что из-за одинарных кавычек site не будет интерполироваться.

Если я попытаюсь

Result.where("link = #{site}").present?

, я получу синтаксическую ошибку.

Как я могу написать это?

Ответы [ 2 ]

0 голосов
/ 07 июля 2011

Если мне не изменяет память, я думаю, вы можете удвоить кавычки:

Result.where('"link = #{site}"').present?
0 голосов
/ 07 июля 2011

На следующий день вы будете взломаны. У него серьезная проблема SQL-инъекция .

Что вам нужно сделать, это:

Result.where(:link => site)

Или, если вам нужно что-то, кроме равенства, этот синтаксис лучше:

    Result.where('link <> ?', site)

Вы можете прочитать больше здесь .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...