我在使用非唯一值的字段上使用rails3-jquery-autocomplete gem,但我希望檢索到的結果是無重複的。任何想法如何實現這一目標?Rails3-jquery-autocomplete截然不同的值
0
A
回答
1
我在我的項目https://github.com/marciomr/Terra-Livre有同樣的問題,我解決它執行以下操作:
- 我安裝Rails3中,jQuery的自動完成功能,如供應商/ plugin目錄插件
- 我改變了文件助手.RB是這樣的:
def json_for_autocomplete(items, method, extra_data)
json = items.collect do |item| # here I put the result in a variable
hash = {"label" => item.send(method), "value" => item.send(method)} #here I removed the id
extra_data.each do |datum|
hash[datum] = item.send(datum)
end if extra_data
hash
end
json.uniq # this line is new
end
我刪除從JSON文件的ID,然後檢索uniq的值。 因爲我不需要這個ID,它對我來說工作得很好。我想如果我需要這個ID,我可以把它放在extra_data中,但我不確定。
我剛纔分叉與此變更項目:混帳://github.com/marciomr/rails3-jquery-autocomplete.git
1
自從我遇到了這個我自己,我想我會記錄我自己的解決方案爲後人,因爲它不需要編輯寶石的來源。這是爲正式維護的寶石叉:https://github.com/bigtunacan/rails-jquery-autocomplete。
您可以直接通過控制器中的自動完成功能塊處理json編碼,我們可以利用它來更改記錄數組。
這就是我們得到的學校的學生去一個獨特的列表的示例:
autocomplete :student, :school do |items|
ActiveSupport::JSON.encode(items.uniq{ |i| i["value"] })
end
「項目」是哈希的數組,它默認包含一個標識,標籤和值,所以這隻將唯一的值傳入json編碼器(您選擇的)。
相關問題
- 1. 選擇截然不同的列值
- 2. python前夕截然不同的值
- 3. Tastypie apply_filters與截然不同
- 4. LINQ截然不同@ Html.DropDownList
- 5. 相同的JavaScript不同的網站,截然不同的表現
- 6. 選擇截然不同的順序
- 7. Apache Spark:截然不同的工作?
- 8. LINQ選擇截然不同的多列
- 9. Yii2 MongoDB截然不同的計數
- 10. linq截然不同的結果
- 11. Laravel 5.1 - mysql orderby計數截然不同的最高值
- 12. 實體框架 - 選擇截然不同
- 13. Linq聲明截然不同日期
- 14. PostgreSQL截然不同,組合在一起?
- 15. 如何應用截然不同?
- 16. 蛋糕php截然不同date_format
- 17. Codeigniter截然不同的查詢不起作用
- 18. Rails 3.1截然不同的查找和丟失的屬性
- 19. SQL Server:計數組中的截然不同的日期
- 20. 兩個截然不同的信號的傅里葉變換
- 21. 數組中元素的快速截然不同的列表python
- 22. Sybase在一列上選擇截然不同,不在乎別人
- 23. SQL結合兩種截然不同的行條目一樣
- 24. 在查詢中使用截然不同的web2py錯誤
- 25. 節點,MongoDB(貓鼬)截然不同的計數
- 26. 如何在XMLDocument中獲得截然不同的信息
- 27. 計算時鐘週期給出了截然不同的結果
- 28. Linq實體框架選擇截然不同的聚合列
- 29. 如何在mongodb中做出截然不同的分組?
- 30. JUnit:攔截方法調用,然後調用不同的參數