У меня есть этот блок кода:
users = Array.new
users << User.find(:all, :conditions => ["email like ?", "%foo%"])
users << User.find(:all, :conditions => ["name like ?", "%bar%"])
users.flatten!
users.uniq!
puts users.to_json :include => [:licenses]
Когда я запускаю его с помощью скрипта / консоли, он возвращает именно то, что, как вы думаете, должно быть, - представление массива пользователей в JSON, которое я нашел, сгладил и исключил. Но, запустив ту же строку кода как часть search_for_users
метода, я получаю эту ошибку
TypeError в ControllerName # search_for_users
неверный тип аргумента Hash (ожидаемые данные)
и указанная строка является строкой с вызовом .to_json.
Это сбивает с толку меня, потому что код дословно тот же. Разница лишь в том, что когда я запускаю его в консоли, я ввожу условия вручную, но в моем методе я получаю запрос из params[:query]
. Но я просто попробовал жестко запрограммировать запросы и получил тот же результат, так что я не думаю, что это проблема. Если я удаляю :include
, я не вижу ошибки, но я также не получаю нужные данные.
Кто-нибудь знает, в чем может быть проблема?