2015-02-28 9 views
11

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

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

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

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

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

Спасибо!

+2

Попробуйте это в формы ввода: '<% = f.text_field: tag_list, значение: @ example_record.tag_list.join ("")%>' –

+0

Возможные дубликат [Rails 4: текст \ _поле для действий \ _as \ _taggable \ _on не разделение тегов запятой] (https://stackoverflow.com/questions/27646714/rails-4-text-field-for-acts-as -taggable-on-not-separating-tags-with-a-comma) –

ответ

18

Это поведение, по-видимому, by design в act_as_taggable_on.

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

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

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

+1

Ах! Работал! Спасибо! – abbott567

+0

Рад помочь! – Zoran

+1

также работает для меня, ты спасаешь мою ночную – Fusco

0

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

config/initializers/acts_as_taggable_on.rb 

ActsAsTaggableOn.delimiter = ' ' # use space as delimiter 

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

2

Для simple_form использования этого:

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

 Смежные вопросы

  • Нет связанных вопросов^_^