ruby-on-railsrubygemsruby-on-rails-pluginssearchlogic

Searchlogic: Strange behaviour when combining scopes with OR


I'm currently implementing a search form in our users database. I would like to search by id , by login or by email.

Naturally, I think that the best aproach is to combine scopes and simplify the form. So I added a text_field for :id_or_login_or_email_like.

Everything works fine when I type a number in the text-field.

However, when I type a word and press search, the value i typed is losed and replaced with a 0 (zero) and the search result returns all users that have 0 in the ID, name or login.

Any ideas on how to fix this? I'm using Rails 2.3.2 and SearchLogic 2.4.27. Thanks!


Solution

  • Never mind, I found a workaround: when combining scopes with OR, put the scope related to integer values at the end.

    So instead of :id_or_login_or_email_like use login_or_email_or_id_like. I've submitted this issue via github.