【问题标题】:Rails Select2 initselection load data from databaseRails Select2 initselection 从数据库加载数据
【发布时间】:2013-11-30 15:23:37
【问题描述】:

我有来自太阳黑子的数据到 select2(显示控制器的 list_styles 方法)。我可以在新的提供程序表单上使用 select2 搜索和保存多个类别,没有任何问题,但是当我尝试从编辑提供程序表单的数据库中加载数据时,它没有显示。尝试了 initselection 方法并检查了文档/stackoverflow 中是否适合我的应用程序但无法对其进行排序的 initselection 方法。创建了一个名为 list_categories 的新控制器方法,但没有成功。任何人都可以评论我正确的方法吗? 谢谢。

Jquery

 $('#provider_category').select2({
            minimumInputLength: 3,
            multiple: true,
             ajax: {
              url: "/categories/list_styles",
              dataType: 'json',
              quietMillis: 100,
              data: function (term, page) { 
                return {
                    q: term, 
                    page_limit: 10, 
                    page: page, 
                };
              },
            results: function (data) {
              var hashtable={};
              var results = \[\];
              $.each(data, function(index, item){
               if (hashtable\[item.parent\]===undefined) {
                   hashtable\[item.parent\]={text:item.parent, children:\[\]};
                   results.push(hashtable\[item.parent\]);
               }
               hashtable\[item.parent\].children.push({id:item._id,text:item.title});
            });
              return {
                  results: results
              };
            },
            initSelection: function(element, callback) {
                return $.ajax({
                    type: "get",
                    url: "/categories/list_categories",
                    dataType: 'json',
                     data: function (term, page) { 
                      return {
                          q: term, 
                          page_limit: 10, 
                          page: page, 
                      };
                    },
                    success: function(data){

                    }
                }).done(function(data) { 
                    //console.log(data);
                    return callback(data);
                });

            }
            }
          }); 

控制器 类 CategoriesController

  def list_styles 
      search = Category.search do
        fulltext params[:q]
      end
      search = Category.search { keywords params[:q]; paginate :page => params[:page], :per_page => params[:page_limit] }
      @categories = search.results    
      respond_with @categories 
  end 

  def list_categories
      search = Provider.find "5299b5dcdd506322c4000091"
      @category = search.category  
      x = Category.find @category
      search = Category.search { keywords x.title; paginate :page => params[:page], :per_page => params[:page_limit] }
      @categories = search.results 
      respond_with @categories  
  end  
end

【问题讨论】:

    标签: ruby-on-rails select2-rails


    【解决方案1】:

    宝贝就是这样!

    jquery

      },
                  initSelection : function (element, callback) { 
                    var data1 = [];
                    jQuery(element.val().split(",")).each(function () {
                        $.ajax({
                            type: "get",
                            url: "/providers/list_categories",
                            async: false,
                            dataType: 'json',
                            data: { id: $("#provider_id").val()},
                            success: function(category){ 
                             $.each(category, function(i, obj) {
                                data1.push({id: this._id, text: this.title}); 
                              });
                            }
    
                        });
                    });
                    callback(data1); 
                  }
    
              }); 
    

    控制器

    def list_categories
      @provider = Provider.find params[:id]
      arr = @provider.category.split(",")
      @category = Category.where(:_id.in => arr)
      respond_to do |format|
      format.json  { render :json => @category} 
      end            
    end 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-01-15
      • 1970-01-01
      • 1970-01-01
      • 2017-01-04
      • 1970-01-01
      • 1970-01-01
      • 2018-05-11
      相关资源
      最近更新 更多