错误的参数数量 - 用jQueryui实现自动完成

时间:2015-02-10 15:17:06

标签: jquery-ui ruby-on-rails-4

我正在尝试按照此示例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。

1 个答案:

答案 0 :(得分:0)

在Rails中&gt; 4.0,ActiveRecord's .all在您通过时不会采用多个参数,因此Wrong number of arguments 1 for 0错误。

您尝试设置的查询只是:

@people = User.where('name LIKE ?', "#{params[:term]}%")

希望它有所帮助!