Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails AJAX PUT方法不工作和Heroku错误_Ruby On Rails_Ajax_Heroku - Fatal编程技术网

Ruby on rails Rails AJAX PUT方法不工作和Heroku错误

Ruby on rails Rails AJAX PUT方法不工作和Heroku错误,ruby-on-rails,ajax,heroku,Ruby On Rails,Ajax,Heroku,我有一个文章模型和一个文章控制器。 索引操作: def index @article=Article.find(id: params[:id]) respond_to do |format| format.html format.js end end index.html.erb 但是,在这一部分中什么也没有表现出来。p标签是空的。日志中没有错误。 假设没有与查询匹配的记录,那么它应该给出nil错误 同样在heroku上,当我转到索引页面时,它会抛出错误,本地一切正常 Act

我有一个文章模型和一个文章控制器。 索引操作:

def index
 @article=Article.find(id: params[:id])
 respond_to do |format|
  format.html
  format.js
 end
end  
index.html.erb

但是,在这一部分中什么也没有表现出来。p标签是空的。日志中没有错误。 假设没有与查询匹配的记录,那么它应该给出nil错误

同样在heroku上,当我转到索引页面时,它会抛出错误,本地一切正常

ActionView::Template::Error未定义nil:NilClass的方法“name”:

那么这里发生了什么?rails中的ajax是如何工作的?从上面的错误中我可以得到的是,当我访问index操作时调用它时,它试图检测@article变量,它是nil,同时它也呈现了_article.html.erb部分。第一次肯定@article是nil。只有在我单击链接并发出ajax请求后才会进行查询。rails如何知道这是ajax请求

我做错了什么

谢谢你的帮助

更新

现在,尝试了一些东西,即使我没有在index.js.erb中放入任何内容,@articles变量也会在控制台中正确呈现

你能试试吗

Article.find(params[:id])

如果没有,请检查是否存在具有您正在传递的id的文章对象。存在一篇具有该id的文章。我只是显式地传递散列参数以确定我在做什么。打赌查询在控制台中正确返回,当我在那里查看html时,_article.html.erb模板正确呈现。它只是没有显示在浏览器页面上。在Heroku上根本不起作用。@whoIsCraig试试{:article=>@article}%>现在我得到的错误与在Heroku中得到的错误相同。nil的未定义方法名:NilClass'Bet'n你能告诉我为什么heroku会给出那个错误吗?你能回答问题的最后一部分吗?rails中的ajax是如何工作的?为什么所有的东西都在控制台中工作而不是在控制台外?您的点击功能没有正确关闭。@hawk,这是一个输入错误:
$('#article').update("<%=escape_javascript(render(@article))%>"); 
<p><%= @article.name %></p>  
get '/index', to: "articles#index"
put '/index', to: "articles#index"  
Article.find(params[:id])