Rails - acts_as_taggable_on 编辑时删除逗号

Rails - acts_as_taggable_on Removes Commas When Editing

我已成功设置 acts_as_taggable_on 我的模型。正如预期的那样,当我用逗号分隔标签时,它正确地分隔了标签。

但是,当我编辑 post 时,该字段会自动填充用于编辑的标签,只是逗号现在消失了。

这意味着如果我在没有将它们放回原处的情况下点击保存,这些标签现在都变成了一个标签。

我试过使用 ActsAsTaggableOn.delimiter = ' ' ,当它们是一个单词标签时它会起作用。但是现在我有一个问题,如果我有一个双词标签,当我编辑并保存 post 时,双词标签现在变成一个词标签。

任何人对此提供的任何帮助都将不胜感激。

谢谢!

这种行为显然是 by design acts_as_taggable_on。

尝试将 to_s 添加到您的 tag_list 中输入:

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

不理想,但这应该允许您的字段正确显示逗号分隔的标签。

如果您在标签中只使用一个词,您可以使用 space 作为分隔符而不是逗号。

config/initializers/acts_as_taggable_on.rb  

ActsAsTaggableOn.delimiter = ' ' # use space as delimiter

我觉得这也不太理想,但解决了问题。

对于 simple_form 使用此:

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