Od Chat.update_all
přidá UPDATE chats SET...
jediný způsob, jak mě napadnout, přimět rails k aktualizaci pomocí aliasu (UPDATE chats AS c
) je pomocí connection.update
a řetězec SQL:
Chat.connection.update(Q%{
UPDATE chats AS c
SET email = m.source_name
FROM messages AS m
WHERE c.id = m.chat_id
AND m.created_at >= '2014-10-10'
});
Není to skvělé, pokud se chcete vyhnout fragmentům SQL, ale použití spojení jako ve vaší otázce může být jediným způsobem, pokud chcete použít AREL.