我正在使用JQuery和Rails开发自动完成表单。但是我不知道如何将数据库中的值拉到JQuery(我相信这必须通过Rails完成)。
这是我在jQuery中的自动完成功能
<script>
$(document).ready(function() {
$( "#BOOKSEARCH" ).autocomplete({
source: programmingLang
});
});
var programmingLang = ["ActionScript","AppleScript","Asp","BASIC","C","C++",
"Clojure","COBOL","ColdFusion","Erlang","Fortran","Groovy","Haskell",
"Java","JavaScript","Lisp","Perl","PHP","Python","Ruby","Scala","Scheme"];
</script>
然而,目前自动完成从硬编码数组填充。如何使用rails中的数据值填充此数组?
由于
答案 0 :(得分:2)
试试这个:
var programmingLang = <%= Language.all.map(&:name).to_json.html_safe %>;
假设您的模型语言具有名称列
确保你没有数千或记录,因为这会减慢甚至可能会导致错误。在这种情况下你应该使用ajax。有几个答案解释了ajax的事情。
或
var programmingLang = <%= ruby_array.to_json.html_safe %>;
答案 1 :(得分:0)
您可以使用简单的AJAX请求来执行返回此数组的操作:
$(document).ready(function() {
$.get('path-to-json', function(data){
$( "#BOOKSEARCH" ).autocomplete({
source: data
});
});
答案 2 :(得分:0)