升级rails

时间:2017-05-04 23:07:29

标签: ruby-on-rails activemodel ransack

我有一个模型,Student,与另一个模型Group建立了关系。以下代码:

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

请注意,它已将22839转换为NULL

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

我有另一个模型User,与群组具有相同的habtm关系。当我尝试Student.ransack(groups_id_eq: 22839).result时,它可以工作并生成所需的SQL。两个模型之间的区别在于Student具有uuid id,而User

修改:这似乎是一个错误,我已经提交了issue更全面的gist

1 个答案:

答案 0 :(得分:0)

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

有关完整说明,请参阅我的gh issue