我根据从视图传递的标准调用数据库,所以它必须是动态的。
假设我有 2 个数组:
columns = ['col1', 'col2', 'col3']
vals = ['val1', 'val2', val3']
查询很容易创建,我可以进行连接,比如
query = columns[0] + " = (?) AND" + ...
但是参数呢?
@finalValues = MyTable.find(:all, :conditions => [query, vals[0], vals[1]... ])
但我不知道我会收到多少参数。因此,当查询问题通过 afor loop
和连接解决时,我可以执行以下操作:
@finalValues = MyTable.find(:all, :conditions => [query, vals])
Rails 会明白我不是为 IN (?) 子句传递数组,而是为每个人 (?) 拆分值?
还是我唯一的选择是做一个完整的原始字符串然后就用它?