Я думаю, что странно иметь зарегистрированного пользователя и пользователя, не являющегося разработчиком, если только вы не имеете в виду, что пользователь А является просто незарегистрированным гостем. В любом случае, это не имеет большого значения, и это может быть сделано.
То, как вы бы соединили эту систему, выглядит следующим образом:
OpenChat # your new data model
OpenChatsController # your new controller
«Запрос чата» создаст новый объект OpenChat с внешними ключами автора и гостя A. Если пользователь А является гостем, вы можете сохранить «пароль» cookie в их браузере, но, как правило, это целесообразно, только если разговор короткий и безопасность не имеет большого значения.
Тогда вы сможете проверить, существует ли открытый чат между двумя пользователями, отобразить его на любой странице и отобразить соответствующие сообщения.
Вам нужно будет посмотреть, как настроить базовую систему чата (существует миллион ответов, которые приведут вас к шагу), поскольку это выходит за рамки этого вопроса.
Если вы новичок в Rails, я также рекомендую учебник Майкла Хартла по Ruby on Rails: https://www.railstutorial.org/
Похоже, что HttpResponse.TransmitFile, который используется в FilePathResult, имеет или было несколько проблем. Это может зависеть от версии Windows, на которой установлен ваш сервер, в соответствии с этим исправлением . Если вы будете искать в Google что-то вроде "response.TransmitFile error", вы получите много ошибок.
Думаю, вам следует использовать исходный код!