У вас есть два ?
, что означает, что метод where
ожидает два аргумента:
def self.search(search)
if search
where("first_name like ? or second_name like ?", "%#{search}%", "%#{search}%")
else
all
end
end
Я не уверен, что вы можете упростить эти like
s, чтобы использовать один аргумент вместо двух дубликатов, но вы можете немного его исправить:
def self.search(search)
if search
q = "%#{search}%"
where("first_name like ? or second_name like ?", q, q)
else
all
end
end