升级rails后,Ransack协会搜索中断

Wil*_* AM 5 ruby-on-rails activemodel ransack

我有一个模型,Student与另一个模型有一个habtm关系,Group.以下代码:

Student.ransack(groups_id_eq: 22839).result
Run Code Online (Sandbox Code Playgroud)

生成以下SQL:

SELECT "students".* FROM "students" 
LEFT OUTER JOIN "groups_students" ON "groups_students"."student_id" = "students"."id" 
LEFT OUTER JOIN "groups" ON "groups"."id" = "groups_students"."group_id" 
WHERE "groups"."id" = NULL
Run Code Online (Sandbox Code Playgroud)

请注意它正在转换22839NULL

这在升级到rails 5之前有效.

我有另一种模式,User与群体有着相同的关系.当我尝试Student.ransack(groups_id_eq: 22839).result它工作并产生所需的SQL.两个模型之间的区别在于Student具有uuid id,而User

编辑:这确实出现了一个错误,我已经提交的问题有一个更全面的依据.

Wil*_* AM 0

我已经通过猴子修补 ActiveRecord AliasTracker 解决了这个问题。

请参阅我的gh 问题以获得完整的解释。