我正在尝试按照此示例How to set up jquery ui autocomplete in rails
实现自动填写表单当我去http://localhost:3000/initiatives/10.json?term=Ion时,我得到一个错误数量的参数1为0"。
在我的计划中#show我有以下代码:
if params[:term]
Error points to this line - @people = User.all(:all, :conditions => ['name LIKE ?', "#{params[:term]}%"])
else
@people = User.all
end
respond_to do |format|
format.html
format.json { render :json => @people.to_json }
end
我正在使用PostgreSQL,并且我认为不会对此数据库进行查询。
这是自动完成的脚本:
<script type="text/javascript">
$(function() {
$('#delegatee').autocomplete({
minLength: 2,
source: '<%= json_path %>',
focus: function(event, ui) {
console.log("xxxxxx");
console.log(ui);
$('#delegatee').val(ui.item.name);
return false;
},
select: function(event, ui) {
$('#delegatee').val(ui.item.name);
$('#delegatee_id').val(ui.item.id);
return false;
}
})
.data("uiAutocomplete")._renderItem = function( ul, item ) {
return $( "<li></li>" )
.data( "item.autocomplete", item )
.append( "<a>" + item.name + "</a>" )
.appendTo( ul );
};
});
</script>
&#34;&lt;%= json_path%&gt; &#34;导致/initiatives/:id.json正确地渲染数据..我认为。
当我尝试使用该表单时,它在控制台中给出了一个500内部服务器错误,我相信这是我上面描述的错误,它指向jquery脚本中的这一行:xhr.send( ( options.hasContent && options.data ) || null );
我使用的是Rails 4.2.0.beta4和Ruby 2.0.0p195。
答案 0 :(得分:0)
在Rails中&gt; 4.0,ActiveRecord's .all
在您通过时不会采用多个参数,因此Wrong number of arguments 1 for 0
错误。
您尝试设置的查询只是:
@people = User.where('name LIKE ?', "#{params[:term]}%")
希望它有所帮助!