Я думаю, что проблема здесь в том, что кажется, что вы задаете два разных вопроса.Пожалуйста, исправьте меня, если я ошибаюсь.
Первый вопрос: как бы вы реализовали функцию автозаполнения, чтобы пользователи могли легко выбирать из предварительно заполненного списка тегов.Чтобы ответить на этот вопрос, вы можете обратиться к ответу spncrgr, приведенному выше.
Второй вопрос заключается в том, как справиться с привязкой этих найденных тегов к текущему сообщению.Для этого вы можете добавить дополнительные функции javascript к вашему решению автозаполнения.Когда пользователь выбирает нужный тег из поля автозаполнения, вы можете сделать то же, что и StackOverflow, и добавить тег в список тегов в одном текстовом поле.Это могут быть пробелы или запятые.Когда вы отправляете форму для создания нового сообщения, вы можете разбить это поле на отдельные теги:
tags = params[:tags].split(' ')
Затем вы можете связать эти теги с моделью в действии Post # create.