Javascript Rails 4 Ajax命名错误-未定义的方法'id';对于nil:NilClass:在我的create.js.erb文件中
我正在尝试在单击按钮时渲染局部。我相信我做错了什么。。。我预计它不会出现在以下情况中:Javascript Rails 4 Ajax命名错误-未定义的方法'id';对于nil:NilClass:在我的create.js.erb文件中,javascript,ruby-on-rails,ajax,ruby-on-rails-4.1,Javascript,Ruby On Rails,Ajax,Ruby On Rails 4.1,我正在尝试在单击按钮时渲染局部。我相信我做错了什么。。。我预计它不会出现在以下情况中: $('#modrequest').empty(); $('#modrequest').html("<%= escape_javascript(render(:partial => 'moderator_requests/links')).html_safe %>"); $('#modrequest').empty(); $(“#modrequest').html(“‘主持人_请求/链接”)
$('#modrequest').empty();
$('#modrequest').html("<%= escape_javascript(render(:partial => 'moderator_requests/links')).html_safe %>");
$('#modrequest').empty();
$(“#modrequest').html(“‘主持人_请求/链接”)).html_safe%>”;
错误是
NoMethodError-未定义nil:NilClass的方法“id”:
我希望我在其他地方做了一些错误的事情,但我不确定在哪里,所以我不会发布大量代码,而是发布任何请求的文件
谢谢错误
该错误可能是由于调用了部分中的未设置数据而导致的:
#partial
<%= item.id %>
#部分
--
修复
因为您必须传递,所以您没有传递任何数据,这将阻止它调用所需的数据。您将能够解决如下问题:
$('#modrequest').html("<%=j render(:partial => 'moderator_requests/links', locals: {your: "local"}).html_safe %>");
$('#modrequest').html('版主请求/链接',本地人:{your:'local}).html#u safe%>”;
如果您的数据无法传递到您的partial应用程序,您最好将其放入,这样您就可以将其填充到应用程序的任何部分
--
定义
NoMethodError-未定义nil:NilClass的方法“id”
此错误基本上意味着您试图对不存在的数据块调用id
。您需要显示分部,或者确定在分部中尝试调用哪些数据
要解决这个问题,您基本上需要能够将正确的数据传递给您的分部代码;无论是通过local
变量,还是通过helper
调用ajax后,都会出现此错误?你能发布你的ajax方法和你的部分渲染吗?很好,谢谢。我能够将信息作为本地变量传递给分部。出于兴趣,你会考虑切换到助手的方法吗?我的partial只需要一个对象ID,所以这不是一个大问题,但我也希望能够为此使用帮助器方法。如果你需要在应用程序的其他部分使用相同的数据,我会使用帮助器。一个很好的例子是使用nav
条(如果您在整个应用程序中调用db中的数据来获取nav条),好的,这很有意义,再次感谢您!