我是一名新的Ruby on Rails开发人员,致力于使用Easy-Autocomplete插件的应用程序。我已经按照它的教程操作,无法使其完全正常工作。 javascript不会自动执行,并且在手动调用时,不会处理生成的JSON。
使用输入的数据并导致服务器调用的javascript正在工作。然后控制器进行搜索并创建JSON对象。
但是JSON似乎从未使它返回浏览器,因为该字段从不显示包含返回数据的下拉列表。 (在服务器端,我已验证正在生成正确的数据)。
另一个问题是,从不执行Assets文件中的javascript。如果手动将其输入到Chrome Devtools控制台中,我只会在该字段上执行javascript。输入后,服务器呼叫将触发。但同样,结果JSON不会显示在该字段的下拉列表中。
在浏览器中使用简单的javascript时,easy-Autocomplete插件和样式表可以正常工作(五种颜色并在字段中键入任何字母会导致正确显示和选择数据数组)。
# The Javascript:
document.addEventListener("turbolinks:load",function() {
$input = $("[id='basics']")
var options = {
getvalue: "name", url: function(phrase) {
return "/search.json?q=" + phrase;
}, categories: [
{
listlocation: "users", header: "Users", }
]
};
$input.easyAutocomplete(options);
});
# The controller action:
def search
@users = User.ransack(email_cont: params[:q]).result(distinct: true).limit(5)
respond_to do |format|
format.html {}
format.json {
@users = @users.limit(3)
}
end
end