Safe ActiveRecord like query

后端 未结 5 528
别那么骄傲
别那么骄傲 2020-11-30 04:27

I\'m trying to write LIKE query.

I read that pure string quires aren\'t safe, however I couldn\'t find any documentation that explain how to write safe LIKE Hash Que

5条回答
  •  悲&欢浪女
    2020-11-30 05:01

    In case if anyone performing search query on nested association try this:

    Model.joins(:association).where(
       Association.arel_table[:attr1].matches("%#{query}%")
    )
    

    For multiple attributes try this:

    Model.joins(:association).where(
      AssociatedModelName.arel_table[:attr1].matches("%#{query}%")
        .or(AssociatedModelName.arel_table[:attr2].matches("%#{query}%"))
        .or(AssociatedModelName.arel_table[:attr3].matches("%#{query}%"))
    )
     
    

    Don't forget to replace AssociatedModelName with your model name

提交回复
热议问题