Show all records when current user is admin
About your code:


The argument name search is confusing (the same as the method), use instead the value it stands for: record_no.
"record_no LIKE ?". This is perfectly fine, but, if you used Arel instead, the query would work for all database.
if is_admin == false -> if !is_admin or unless is_admin. Shorter, more declarative, idiomatic.
DRY your code by reusing the repeated scope.
organization_id: Since you using anORM, you usually send objects as arguments, not their IDs. Does it make sense for you code?
where("organization_id = ?", organization_id). Use a hash instead.


I'd write:

def self.search(record_no, organization_id, is_admin)
  with_record_no = where(arel_table[:record_no].matches("%#{record_no}%"))
  if is_admin
    with_record_no
  else
    with_record_no.where(organization_id: organization_id)
  end 
end