Ruby on rails 如何使用或'拆分where;还有更多的线路吗?

Ruby on rails 如何使用或'拆分where;还有更多的线路吗?,ruby-on-rails,activerecord,activeresource,Ruby On Rails,Activerecord,Activeresource,我正在尝试实现一个搜索功能,搜索模型中的所有字段以查找匹配的记录 我想将或处的where查询拆分为不同的行。我怎样才能做到这一点? 这是一个工作示例: u = User.where("LOWER(id) LIKE ? OR LOWER(name) LIKE ?", s, s) 但我想实现更多的字段,以便使内容更具可读性,我想将where's拆分为不同的行,例如: u = User.where("LOWER(id) LIKE ?", s) u << User.where("LOWER

我正在尝试实现一个搜索功能,搜索模型中的所有字段以查找匹配的记录

我想将
处的
where
查询拆分为不同的行。我怎样才能做到这一点?

这是一个工作示例:

u = User.where("LOWER(id) LIKE ? OR LOWER(name) LIKE ?", s, s)
但我想实现更多的字段,以便使内容更具可读性,我想将where's拆分为不同的行,例如:

u = User.where("LOWER(id) LIKE ?", s)
u << User.where("LOWER(name) LIKE ?", s)
u << User.where("LOWER(surname) LIKE ?", s)
u=User.where(“下(id)LIKE?”,s)

u如果你的观点是可读性,我建议采用两个变量-

然后在实际查询中使用这两个变量:

u=User.where(“#{query_statement},#{query_variables}”)

希望这有帮助

如果你找到更好的选择,请在这里发布!谢谢

也试试这个

with_names = User.where("LOWER(name) LIKE ?", s)
with_surnames = User.where("LOWER(surname) LIKE ?", s)
@result = with_names | with_surnames
with_names = User.where("LOWER(name) LIKE ?", s)
with_surnames = User.where("LOWER(surname) LIKE ?", s)
@result = with_names | with_surnames