Rails gem rails3-jquery-autocomplete: How do I query multiple fields

后端 未结 6 1619
借酒劲吻你
借酒劲吻你 2020-12-03 11:18

I\'m using the rails3-jquery-autocomplete gem found here: http://github.com/crowdint/rails3-jquery-autocomplete

The instructions are clear for how to qu

6条回答
  •  心在旅途
    2020-12-03 11:59

    This is a hack and I would very much like this function to be included in the gem but as slant said overwriting the get_autocomplete_items works as he wrote it but it will only return first_name and last_name from the model column. In order to restore functionality that frank blizzard asked for you also need to return the id of the row.

    items = Contact.select("DISTINCT CONCAT_WS(' ', first_name, last_name) AS full_name, first_name, last_name, id").where(["CONCAT_WS(' ', first_name, last_name) LIKE ?", "%#{parameters[:term]}%"])
    

    The difference between mine and slant's answer is id as the last argument of the select method. I know it is late but I hope it helps somebody in the future.

    If you don't need the functionality of comparing your search string against the concatenated string and are trying to just do a query on three separate columns you can use this fork of the gem : git://github.com/slash4/rails3-jquery-autocomplete.git. Oh also that fork will only work with ActiveRecord which is probably why they didn't pull it.

提交回复
热议问题