: из параметра в активной записи найти не очень хорошо оформленный? - PullRequest
1 голос
/ 12 июня 2010

я получил эту ошибку:

SQLite3::SQLException: no such column: apis.name: SELECT * FROM examples WHERE ("apis"."name" = 'deep') 

мой код

 Api.find :all, :from => params[:table_name], :conditions => {:name => 'deep' }

Мне нужно создать приложение для рельсов, которое будет использоваться приложением silverlight. Одним из требований является получение простых данных из базы данных. мне нужно иметь возможность запрашивать разные таблицы с одним и тем же кодом. (мое приложение имеет 2000 таблиц!)

я думаю, что рельсы не имеют смысла вставлять "apis" в предложении WHERE. есть ли какая-то особая причина для этого?

1 Ответ

0 голосов
/ 13 июня 2010

Это делает так, чтобы при выполнении объединений предложения where совпали со столбцами правильных таблиц. Это удобно в большинстве случаев, но в вашем конкретном случае возникают проблемы.

То, что вы могли бы сделать, это использовать синтаксис других условий, который не будет добавлять имена таблиц rails к атрибутам, но все же будет корректно очищать входные данные.

Api.find :all, :from => params[:table_name], :conditions => ['name = ?','deep']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...