首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >select2-rails AutoTokenization in ActiveAdmin:如何指定tokenSeparator?

select2-rails AutoTokenization in ActiveAdmin:如何指定tokenSeparator?
EN

Stack Overflow用户
提问于 2014-05-06 15:29:39
回答 1查看 455关注 0票数 0

我将选择2-rails 3.5.7ActiveAdmin 0.6.0关于3.1.1结合使用。

我想使用分号作为标记分隔符,所以我使用:

代码语言:javascript
复制
# config/initializers/acts_as_taggable_on.rb
ActsAsTaggableOn.delimiter = ";"

代码语言:javascript
复制
# app/admin/model.rb
form do |f|
  f.inputs do
    f.input :keyword_list, as: :select2_tags
  end
end

现在,在告诉acts_as_taggable_on使用分号作为标记分隔符之后,我还需要告诉select2做同样的事情--通过ActiveAdmin。

标记上的select2文档说可以为AutoTokenization指定一个tokenSeparators列表。

我如何告诉ActiveAdmin让select2使用分号而不是逗号?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-11 09:50:27

https://github.com/argerim/select2-rails/issues/87

我很久以前就从Select2TagsInput那里学来的,忘了去哪看,都在那里.为了你的利益:

代码语言:javascript
复制
# app/inputs/select2_tags_input.rb
class Select2TagsInput < Formtastic::Inputs::StringInput
  def input_html_options
    default_options = { width: '76%', tags: ActsAsTaggableOn::Tag.all.map(&:name) }
    create_options = options[:create_options] || {}
    create_options.merge!(default_options)
    data = { create_options: create_options }
    super.merge(:class => 'select2-input', data: data)
  end
end

要指定自定义创建选项,我需要

代码语言:javascript
复制
f.input :keyword_list, as: :select2_tags, :create_options => { :tokenSeparators => [";"] }

它现在将正确地呈现为

代码语言:javascript
复制
<input class="select2-input" data-create-options="{'tokenSeparators':[';'], 'tags':[...]}" id="item_keyword_list" name="item[keyword_list]" type="text" value="BlahBlah" />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23498892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档