Я работаю над унаследованным проектом, который использует ActsAsTaggableOn, но выглядит (основываясь на документации), что он не использует его нормально?
мой объект отчетов имеет несколько объектов ActsAsTaggableOn, например, year_tags.
Я пытаюсь добавить тег, основываясь на: https://rubydoc.info/gems/acts-as-taggable-on/#usage Я должен быть в состоянии просто использовать:
report.year_tags.add("foo")
Тем не менее, это говорит:
NoMethodError: undefined method `add' for #<ActsAsTaggableOn::Tag::ActiveRecord_Associations_CollectionProxy:0x00007fbedb9134e8>
Я могу перечислить year_tags
и получить длину, и когда я вывожу их, я получаю строки, как ожидалось (печатается по одному на строку, но, может быть, это нормально для Ruby?)
I year_tags У ДОЛЖЕН быть метод push
, но для этого нужен объект ActsAsTaggableOn
, а не строка ... что кажется странным.
ETA:
немного больше деталей, потратив больше времени на это:
Похоже, что типичный способ использования ActsAsTaggableOn
состоит в том, чтобы иметь один tag_list однако у нас есть несколько различных типов тегов, поэтому у нас есть report.year_tags
и report.level_tags
, et c ... Каждый из них выглядит, может быть, итератором? в списке ActsAsTaggableOn::Tag
объектов? или что-то типа того?