Я настраиваю проект, в котором я хочу переместить часть кода rails в мою базу данных mysql.Я хочу поместить условия, которые я использую в контроллере в базу данных.Я назвал эту таблицу Фильтром.Аттрбуты - это имя и фильтр, в котором я поместил условие в этом случае просто: 'status = ?' ,'P'
.
Теперь из моего контроллера я хочу вызвать условие следующим образом:
@programs = Program.where(Filter.find_by_name(params[:filter]).filter)
Итак, на основе параметра фильтра в de url я называю условие.Я не могу заставить его работать, и я думаю, что проблема в том, что условие возвращается в виде строки.Так что в основном я получаю:
@programs = Program.where("'status = ?' ,'P'") # including the string quotes
, который возвращает ошибку:
ActiveRecord::StatementInvalid: Mysql2::Error: Operand should contain 1 column(s): SELECT `programs`.* FROM `programs` WHERE ('status = ?' ,'P')
Это работает:
@programs = Program.where('status = ?' ,'P')
, так что мое состояние, контроллер имодель в порядке.Кто-нибудь знает, как это решить?