Ruby on rails 如何将条件保存在变量中并在rails活动记录中使用该变量?
我试图将条件保存在一个变量中,并在活动记录查询中调用它,如下所示Ruby on rails 如何将条件保存在变量中并在rails活动记录中使用该变量?,ruby-on-rails,ruby-on-rails-3,activerecord,ruby-on-rails-3.1,Ruby On Rails,Ruby On Rails 3,Activerecord,Ruby On Rails 3.1,我试图将条件保存在一个变量中,并在活动记录查询中调用它,如下所示 if !key1.nil? @condition = ":key2 => @value2, :key3 => @value3" else @condition = ":key4 => @value4, :key5 => @value5" end @result = Model.where(@condition).all 我该怎么做?请帮帮我 更新: @condition = { "key1
if !key1.nil?
@condition = ":key2 => @value2, :key3 => @value3"
else
@condition = ":key4 => @value4, :key5 => @value5"
end
@result = Model.where(@condition).all
我该怎么做?请帮帮我
更新:
@condition = { "key1 = ? and key2 >= ? and key3 <= ? and id IN (?)", @value1, @value2, @value3, @id }
@condition={“key1=”和key2>=?以及key3使用散列
而不是字符串
:
@condition = { :key2 => @value2, :key3 => @value3 }
此外,您还可以使用简化if!key1.nil?
的语法,除非:
@condition = {}
unless key1
@condition = { :key2 => @value2, :key3 => @value3 }
else
@condition = { :key4 => @value4, :key5 => @value5 }
end
好的,如果我的条件如更新中所示,它会显示一个错误