小编Rus*_*met的帖子

acts_as_taggable_on和select2在Active Admin中返回奇怪的结果

所以我一直在玩acts_as_taggable_on活跃的管理员,并且大多数情况下一切都按预期工作.

但是,每当我搜索标签并将现有标签添加到模型时,它似乎将其保存为ID,而不是名称.创建新标签会返回正确的名称,当我再次编辑对象时,标签仍会被名称标记.但是当我尝试添加另一个已经存在于数据库中的标记时,它会返回表单中的名称,并且似乎保存正常,但是当我再次编辑onject时,标记显示为ID,而不是而不是名字.

admin/gift.rb:

controller do
  def autocomplete_gift_tags
    @tags = ActsAsTaggableOn::Tag
      .where("name LIKE ?", "#{params[:q]}%")
      .order(:name)
    respond_to do |format|
      format.json { render json: @tags , only: [:id, :name], root: false }
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

tag-autocomlete.js:

$(document).ready(function() {
  $('.tagselect').each(function() {
    var placeholder = $(this).data('placeholder');
    var url = $(this).data('url');
    var saved = $(this).data('saved');
    $(this).select2({
        tags: true,
        placeholder: placeholder,
        minimumInputLength: 1,
        initSelection: function(element, callback) {
            saved && callback(saved);
        },
        ajax: {
            url: url,
            dataType: 'json',
            data: …
Run Code Online (Sandbox Code Playgroud)

autocomplete ruby-on-rails acts-as-taggable-on activeadmin select2-rails

5
推荐指数
1
解决办法
1213
查看次数