我正在尝试将标签添加到模型中。我需要它具有以下功能:
即。同样的方式"标签"发布问题时,此框可在此网站上使用!
我99%的方式,但我采取的每种方法似乎一部分不起作用。
以下是我的软件版本:
以下代码:正确呈现,但在保存之前无法添加新代码,提示现有代码正常工作
@tags = ActsAsTaggableOn::Tag.all
<%= f.input :tag_list, input_html: { class: 'tags', multiple: true}, collection: @tags, value_method: :name %>
$('.tags').select2({
tokenSeparators: [',', ' '],
placeholder: "Add your tag here"
});
以下代码:呈现为多行文本框,而不是通过select2
的标记@tags = ActsAsTaggableOn::Tag.all
<%= f.input :tag_list, input_html: { class: 'tags', multiple: true}, collection: @tags, value_method: :name %>
$('.tags').select2({
tags: true,
tokenSeparators: [',', ' '],
placeholder: "Add your tag here"
});
以下代码:正确呈现,可以添加新标签,但不提示选择现有标签
@tags = ActsAsTaggableOn::Tag.all
<%= f.input :tag_list, input_html: { class: 'tags', multiple: true } %>
$('.tags').select2({
tags: true,
tokenSeparators: [',', ' '],
placeholder: "Add your tag here"
});
答案 0 :(得分:0)
对于任何发现这一点的人,我最终都是为了让它发挥作用。
@tags = ActsAsTaggableOn::Tag.all.pluck(:name)
<%= f.input :tag_list, input_html: { class: 'tags', multiple: true, data: {options: @tags} } %>
$('.tags').select2({
tags: $('.tags').data('options'),
tokenSeparators: [' ', ',']
});
很高兴听到是否有更清洁的方法。