在rails中附加条件,包括连接

时间:2016-10-19 07:51:45

标签: ruby-on-rails

有3个表连接在一起,根据传递的参数,可能存在可能存在或不存在的条件

  

A.joins(b :: c).where(a:{id:1},b:{id:2},c:{id:4})

     

A.joins(b :: c).where(a:{id:1})

在where条件中可以有任何组合。我怎样才能在我的代码中实现它?

1 个答案:

答案 0 :(得分:0)

您可以简单地编写逻辑,以根据您自己的逻辑有条件地发送方法。

my_thing = A.joins(b: :c)
my_thing = my_thing.where(a:{id:1}) if ...
my_thing = my_thing.where(b:{id:2}) if ...
my_thing = my_thing.where(c:{id:3}) if ...