Condições de aninhamento em ActiveRecord

O Rails 3.2.6 fez com que algumas pessoas experimentassem regressões em seus aplicativos. Geralmente é porque eles estavam usando mal as condições aninhadas, antes. É verdade que joins / includes entendem hashes aninhados de referências de associação, mas na cláusula where, stock ActiveRecord não atribui nenhuma importância especial a esse aninhamento e, de fato, a partir de 3.2.6, o impede ativamente. Você deve reescrever:

Model.joins(:other_models => :still_other_models).where(
:other_models => {:still_other_models => {:attribute => 'value'}}
)

Como:

Model.joins(:other_models => :still_other_models).where(
:still_other_models => {:attribute => 'value'}
)