Как вы можете проверить, находится ли определенное значение в переменной экземпляра в Ruby on Rails? - PullRequest
0 голосов
/ 12 января 2012

Мне нужно проверить, содержит ли переменная экземпляра в моем контроллере определенное значение. Я думаю .включить? был бы способ сделать это, но это не похоже на работу.

Мой код выглядит примерно так:

@names=Model.find_by_sql("select name from ...") 

if @names.include?(params[:name]) 
    ...
end

Оператор if все равно всегда принимает значение true.

Спасибо

Ответы [ 2 ]

5 голосов
/ 12 января 2012

Во-первых, find_by_sql - плохой способ сделать это. find_by_sql вернет вам объект класса Model. Принимая во внимание, что params [: name], скорее всего, строка. Должно работать следующее:

Model.find(:all, :conditions => 'specify conditions here').map(&:name).include?(params[:name])
0 голосов
/ 12 января 2012

Результатом find_by_sql будет ( из документов ):

массив с запрошенными столбцами, инкапсулированные как атрибуты модели, из которой вы вызываете этот метод.

Вам необходимо искать в результатах.

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