2012-05-01 15 views
0

如何解析rails實例變量的值以創建jQuery的自動完整列表? 所以我的'/用戶/搜索'返回一個實例變量,每個項目有多個值。我想結合他們並作爲一個列表項目呈現。Ruby rails - jquery自動完成 - 爲列表項目組合多個值

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("https://stackoverflow.com/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

+0

爲什麼不使用JSON而不是HTML響應,請使用JBuilder gem來呈現您希望的響應。您的問題在於您從服務器獲取HTML並將其轉義。 –

+0

@MilanJaric - 謝謝。不知道該怎麼做,從來沒有做過。我會嘗試。 –

+1

與你創建erb html視圖相同,這裏是開始的鏈接http://railscasts.com/episodes/320-jbuilder –

回答

1

首先你需要看JBuilder的。 JBuilder是json輸出的強大,明確和可靠的解決方案。