Я пытаюсь удалить объект с самым старым значением updated_at при выполнении rjs.
page.insert_html :top, :messages, :partial => @message
page[@message].visual_effect :grow
page[:message_form].reset
Message.old_messages.each do |m|
page.remove(m.id)
end
page.delay(1) do
page.select('.message').last.visual_effect :fade
end
Я использую .last там прямо сейчас, но у меня есть periodical_call_remote в представлении, которое постоянно обновляет и запускает rjs выше. Линия:
page.select('.message').last.visual_effect :fade
, кажется, выполняется только в первый раз, потому что после того, как исчезает сообщение «последнее», больше ничего не распознается как «последнее», поэтому я решил вместо вызова .last я смог найти объект с самой старой отметкой времени updated_at и просто удалите это вместо этого. Я думаю, что я, вероятно, не могу сделать это с помощью page.select, поскольку он вызывает только элементы CSS. И поэтому у меня, вероятно, нет доступа к значениям updated_at в модели сообщений. У кого-нибудь есть предложения о том, как выполнить удаление самого старого сообщения с помощью rjs? Сообщения уже автоматически удаляются в модели при создании новых сообщений. Но я хочу, чтобы они автоматически исчезали, когда RJS обновляет элемент.