使用jQuery和RoR错误自动填充?

问题描述

| 我正在尝试使用jQuery插件自动完成功能自动填充文本,但我遇到了一些问题,视图中没有生成列表,并且在firbug中出现错误
500 Internal Server Error,<h1>Template is missing</h1>
<p>Missing template messages/query with {:handlers=&gt;[:erb,:builder,:rjs,:rhtml,:rxml],:locale=&gt;[:en,:en],:formats=&gt;[:json,:js,&quot;*/*&quot;]} in view paths &quot;/Users/aldeirm2/Desktop/CMS2/app/views&quot;</p>. 
我猜这与我试图返回json对象的方式有关吗? 这是JavaScript代码
$(function() {
    var cache = {},lastXhr;
    $( \"#username\" ).autocomplete({
        minLength: 1,source: function( request,response ) {
            var term = request.term;
            if ( term in cache ) {
                response( cache[ term ] );
                return;
            }

            lastXhr = $.getJSON( \"/usernames\",request,function( data,status,xhr ) {
                cache[ term ] = data;
                if ( xhr === lastXhr ) {
                    response( data );
                }
            });
        }
    });
});
HTML代码
<label for=\"username\">To:</label>  <input id=\"username\" /><br />
控制器中的搜索方法(路由到使用的\“ / search \”):
  def query
    @users = User.auto_fill(params[:term])

    logger.debug \"This is the USERS\" + @users.first.username
    return @users.collect{|x| {:label => x.name,:id => x.id}}.to_json
  end
模型中的auto_fill方法
def self.auto_fill(search)
    query = \"%#{search}%\"
    where(\"username like ?\",query)
  end
任何帮助将非常感谢。     

解决方法

我认为因为您没有渲染任何东西,所以Rails试图找到要渲染的查询模板。尝试:
render :json => @users.collect{|x| {:label => x.name,:id => x.id}}
或类似的规定     ,该错误告诉您确切的错误。您缺少ѭ6的模板。您需要先解决该问题。在您的控制器/动作中执行以下操作
render :json => { :success => \'your info here\' }
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...