2013-12-22 1 views
1

Я использую squeel, и я получаю ActiveRecord::QueryMethods::WhereChain, возвращенный из запроса, а не ActiveRecord::AssociationRelation.ActiveRecord :: QueryMethods :: WhereChain

Запрос:

game.golfers.where{competitors.swing_golfer IS DISTINCT FROM TRUE} 

запрос, который возвращает AssociationRelation

game.golfers.where{"competitors.swing_golfer IS DISTINCT FROM TRUE"} 

Обратите внимание котировки изменить тип возвращаемого значения.

Модели

class Game < ActiveRecord::Base 
    has_many :competitors 
    has_many :golfers, through: :competitors 
end 

class Golfer < ActiveRecord::Base 
    has_many :competitors 
    has_many :games, through: :competitors 
end 

Любая идея, что это ActiveRecord::QueryMethods::WhereChain и как я могу использовать его или избежать его?

  • рубин 2.0.0
  • рельсы 4,0
  • squeel 1.1.1

ответ

0

Посмотрите на эту статью:

http://erniemiller.org/2013/10/07/activerecord-where-not-sane-true/

где Эрни говорит: «Его единственной цель должна существовать, чтобы выявить не метод, ... »

В основном он был разработан так, чтобы вы могли изменить исходное состояние с помощью вызова .not (...) без необходимости его дублирования.

 Смежные вопросы

  • Нет связанных вопросов^_^