2017-05-04 50 views
5

我有一个模型,Student,与另一个模型habtm关系,Group。下面的代码:Ransack关联搜索打破升级后的轨道

Student.ransack(groups_id_eq: 22839).result 

产生如下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 

注意,它的转换22839NULL

这在升级前正在努力导轨5

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

编辑:这确实出现了一个错误,我已经提交了issue提供更全面的gist

+1

这个要点有一些问题。我试图运行它,但由于默认值,创建'学生'表时失败了。我更改了代码以在AR回调中生成uuid。之后,代码按预期工作。测试通过并生成SQL看起来不错。 –

+0

你可以创建一个要点并把它放在这里? –

+0

根据github问题你已经解决了这个问题,这是真的还是你的问题在这里仍然有效? – BoraMa

回答

0

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

查看我的gh issue的完整说明。