Rails - acts_as_taggable_on编辑时删除逗号

时间:2015-02-28 00:28:39

标签: ruby-on-rails ruby delimiter acts-as-taggable-on

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

但是,当我编辑帖子时,该字段会自动填充标签以进行编辑,但逗号现已消失。

这意味着如果我点击保存而不将其重新放入,则标签现在变为所有标签。

我尝试使用ActsAsTaggableOn.delimiter = ' ',当它们是一个单词标签时有效。但现在我有一个问题,如果我有一个双字标签,当我编辑并保存帖子时,两个单词标签现在变成一个单词标签。

任何人可能对此有任何帮助将不胜感激。

谢谢!

3 个答案:

答案 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

我认为这也不太理想,但解决了这个问题。