我已经成功设置了act_as_taggable_on我的模型。正如预期的那样,当我用逗号分割标签时,它会正确地分割标签。
但是,当我编辑帖子时,该字段会自动填充标签以进行编辑,但逗号现已消失。
这意味着如果我点击保存而不将其重新放入,则标签现在变为所有标签。
我尝试使用ActsAsTaggableOn.delimiter = ' '
,当它们是一个单词标签时有效。但现在我有一个问题,如果我有一个双字标签,当我编辑并保存帖子时,两个单词标签现在变成一个单词标签。
任何人可能对此有任何帮助将不胜感激。
谢谢!
答案 0 :(得分:19)
这种行为在acts_as_taggable_on中显然是by design。
尝试在表单input:
中将to_s
添加到tag_list
<%= f.text_field :tag_list, value: @example_record.tag_list.to_s %>
不理想,但这应该允许您的字段正确显示逗号分隔标记。
答案 1 :(得分:2)
对于simple_form,请使用:
<%= f.input :tag_list, input_html: {value: @example_record.tag_list.to_s} %>
答案 2 :(得分:0)
如果您只在标签中使用一个单词,则可以使用空格作为分隔符而不是逗号。
config/initializers/acts_as_taggable_on.rb
ActsAsTaggableOn.delimiter = ' ' # use space as delimiter
我认为这也不太理想,但解决了这个问题。