Можно ли отправить электронное письмо пользователям, которые упоминаются в rails ActionText? - PullRequest
0 голосов
/ 01 июня 2019

Я следовал руководству GoRails по использованию @mentions в ActionText.Я хочу автоматически отправлять электронное письмо любому @ упомянутому пользователю, чтобы предупредить его о разговоре.Я бы предположил, что в Rails это тривиально, но я не могу найти никакой документации о том, как это сделать.

Кто-нибудь знает, как это будет сделано?

GoRails: https://gorails.com/episodes/at-mentions-with-actiontext

Ответы [ 2 ]

2 голосов
/ 02 июня 2019

Я не на 100%, но вот идея, с которой вы можете играть. Поскольку учебник добавляет встраиваемые объекты в объект расширенного текста, вы можете сделать что-то подобное в своей модели:

has_rich_text :content

after_create do
  content.embeds.each do |embed|
    # now you have each embeded object, I guess you could use that sgid that
    # he name on the tutorial a few times to find if the embeded object is a 
    # user or something else, and then fire the email. I leave this part to 
    # you since I didn't actually tried ActionText yet, I just saw the 
    # tutorial and read parts of the code ;P
  end
end
0 голосов
/ 02 июня 2019

Исходя из вашего описания, я считаю, что вы хотели бы иметь всеобъемлющую функцию, которая будет выполнять следующие действия:

  1. обнаружение @ + username в текстовой области (- вам нужен текстпрослушиватель событий набора текста с клавиатуры и распознавание условий специальных символов для @ + username)
  2. список всех пользователей, относящихся к нечеткому поиску @ + username (- необходимо создать API списка пользователей с поддержкой поиска по имени пользователяи позволить запросам F / E к этому API при наборе текста в текстовой области с помощью @ + username)
  3. иметь возможность выбрать пользователя из выпадающего списка @mention (- чисто поведение F / E, просто нужнодругой прослушиватель событий для обнаружения выбора пользователя и введения выбранного имени пользователя в эту текстовую область.
  4. Автоматическое оповещение пользователей @mention после комментирования диалога (- здесь необходима функция AB / E. Этот сервер будет вести этот диалогданные после комментирования, и сервер должен проверить, содержит ли диалог какой-либо раздел @mention, если таковой имеется, тогда найдите использованиеr связано с этим @mention, и отправьте электронное письмо пользователю, напрямую используя Mailer или косвенно используя Mail Worker.)

Это всего лишь один простой способ реализовать эту функцию без использования каких-либо сторонних поставщиков.интерфейс.Даже если вы собираетесь использовать ActionText в Trix edior, вам нужно, по крайней мере, иметь возможность

  1. , предоставляя API для возврата результатов поиска в списке пользователей
  2. и отправки писемдля тех @mention пользователей в B / E как минимум.

Дайте мне знать, если вам нужны какие-либо дополнительные подробности, если какая-либо часть моего комментария здесь не ясна.

...