rjsの実行時に、updated_atの値が最も古いオブジェクトを削除しようとしています。
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を使用していますが、上記のrjsを継続的に更新して実行するビューに、periodic_call_remoteがあります。この線:
page.select('.message').last.visual_effect :fade
「最後」のメッセージが消えた後、「最後」として認識されるものがなくなったため、最初にのみ実行されるようです。.lastを呼び出す代わりに、.lastを呼び出す代わりに、最も古いupdated_atタイムスタンプを持つオブジェクトを見つけて、それを削除することができます。代わりは。css要素のみを呼び出すため、page.selectを使用してこれを行うことはおそらくできないと思います。したがって、メッセージモデルのupdated_at値にアクセスできない可能性があります。誰かがrjsで最も古いメッセージを削除する方法について提案がありますか?新しいメッセージが作成されると、メッセージはモデルからすでに自動的に削除されます。しかし、RJSが要素を更新するときに、それらを自動的にフェードさせたいのです。