У меня проблема с сопоставлением в Ruby on Rails. Я хочу проверить, является ли полное имя последними 3 обновленными записями в базе данных. По какой-то причине он проверяет всю базу данных.Rails - Сравнение последних 3 обновленных записей модели
if Playlist.where(fullname: @last_fullname).order(updated_at: :desc).limit(3).exists?
puts "records exists in last 3 updated records"
else
puts "record not found"
end
Не уверен, что синтаксис правильный или его следует разбить. Это не дает мне ошибку, но результат не тот, что ожидается.
EDIT: ожидаемый результат состоит в том, что когда запись не обновляется в течение последних 3, она должна указывать «запись не найдена». Если запись находится в течение последних 3 обновлений, она должна указывать «запись в последних 3 обновленных записях».
Что я получаю, когда в базе данных существует @last_fullname, так это то, что он всегда будет давать «записи в последних 3 обновленных записях», хотя это не в последних трех обновлениях.
Я получаю «запись не найдена», когда она не выходит в базу данных.
Любая идея?
, пожалуйста, покажите нам фактический результат и ожидаемый результат. – davidhu2000
Вы должны искать 'full_name' вне 3 последних запросов записи, а не в предложении' where'. – d34n5