我发现我的继承资源控制器在通过REST查询时忽略了额外的参数。我做了一个测试,取代了继承的资源方法,发现模型本身忽略了额外的地方。
a = Client.where(:user_id => 1)
a.where(:project_id => 2)
a.first.project_id == '1'
第二个被忽略的地方,我在日志中看到这是正在选择的:
SELECT "clients".* FROM "clients" WHERE "clients"."user_id" = 1 LIMIT 1
答案 0 :(得分:2)
第二个a.where没有改变变量a,所以你需要再为第二个where子句设置一个:
a = Client.where(:user_id => 1)
a = a.where(:project_id => 2)