Rails - actions_as_taggable_on Удаляет запятые при редактировании

Я успешно создал act_as_taggable_on моей модели. Как и ожидалось, когда я разделяю теги запятыми, он правильно разбивает теги.

Однако, когда я редактирую сообщение, поле автоматически заполняется тегами для редактирования, за исключением того, что запятые теперь исчезли.

Это означает, что если я удалю сохранение, не возвращая его, теги теперь станут все одним тегом.

Я попытался использовать ActsAsTaggableOn.delimiter = ' ', который работает, когда он является одним тегом слова. Но теперь у меня проблема: если у меня есть тег из двух слов, когда я редактирую и сохраняю сообщение, два словарных слова теперь становятся одним словом.

Любая помощь, которая может быть оказана на этом, будет очень признательна.

Спасибо!

Ответ 1

Это поведение, по-видимому, по дизайну в act_as_taggable_on.

Попробуйте добавить to_s в свой tag_list в форме ввода:

<%= f.text_field :tag_list, value: @example_record.tag_list.to_s %>

Не идеально, но это должно позволить вашему полю правильно отображать теги, разделенные запятыми.

Ответ 2

Для simple_form используйте это:

<%= f.input :tag_list, input_html: {value: @example_record.tag_list.to_s} %>

Ответ 3

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

config/initializers/acts_as_taggable_on.rb  

ActsAsTaggableOn.delimiter = ' ' # use space as delimiter

Я думаю, что это тоже не идеально, но решила проблему.