Ruby rails - jquery auto complete - 为列表项组合多个值

时间:2012-05-01 02:09:58

标签: jquery ruby ajax ruby-on-rails-3

如何解析rails实例变量的值以创建jQuery的自动完整列表? 所以我的'/ user / search'返回一个实例变量,每个项目有多个值。我想把它们组合起来作为列表项目。

def search
  if (params[:term] =~ /[a-zA-Z]/)
    @result = User.FindLdap("sAMAccountName", params[:term])
  else
    @result = User.FindLdap("idnumber", params[:term])
  end
  respond_to do |format|
    format.html { render :partial => 'text_for_autocomplete'}
    format.js
  end
end

我正在使用jQuery的示例代码,但它有一种方法来显示每个项目列表。在我的情况下,我检索多个ldap属性,我想显示每个列表项的属性值。 因此,每个列表项应与逗号分隔""#{sAMAccountName}", "#{idnumber}"",而不仅仅是在文本字段中键入的idnumber的值。

$(function() {
    $("#term").autocomplete({
        source: function (request, response) {
            $.post("/users/search", request, response);
        },
        minLength: 2,
        select: function( event, ui ) {
            log( ui.item ?
                "Selected: " + ui.item.value + " aka " + ui.item.id :
                "Nothing selected, input was " + this.value );
        } #No idea how it can be done here. 
    });
});

我在列表中得到了这个,部分渲染的html -

I get this in the list, actual partial render

1 个答案:

答案 0 :(得分:1)

首先,您需要查看JBuilder。 JBuilder是json输出的强大,定义明确且可靠的解决方案。