Ajax Rails 3-呈现部分和错误“;未定义的局部变量或方法;
我在图库中有一张照片(PhotosController),我想在每张照片中添加一条评论。在照片声明中,我添加了一个用于呈现评论的部分+用于添加新评论的表单 我的问题是,当我发送带有新注释的表单时,会出现呈现错误:Ajax Rails 3-呈现部分和错误“;未定义的局部变量或方法;,ajax,ruby-on-rails-3,view,render,partial,Ajax,Ruby On Rails 3,View,Render,Partial,我在图库中有一张照片(PhotosController),我想在每张照片中添加一条评论。在照片声明中,我添加了一个用于呈现评论的部分+用于添加新评论的表单 我的问题是,当我发送带有新注释的表单时,会出现呈现错误: **NameError (undefined local variable or method `photo' for #<CommentsController:0x00000100ce0ad0>)**: 这一行有几十个: Rendered photos/_photo
**NameError (undefined local variable or method `photo' for #<CommentsController:0x00000100ce0ad0>)**:
这一行有几十个:
Rendered photos/_photo_comments.js.erb (562.2ms)
最后一个呢
Completed 500 Internal Server Error in 580ms
渲染有什么问题?我无法从部分JS文件中呈现部分html文件?
image\u tag photo.photo.url(:thumb)
在控制器中,您有:
:locals => { :photo => photo }
但是变量photo
不存在。应该是:
:locals => { :photo => @comment.photo }
是的,因为我在表格中有照片列、照片列、文件名、照片列、内容列、类型-这是正确的,图像显示正确,但是当我想用AJAX渲染部分时,我得到了上面的错误…谢谢,这解决了我的问题。我试图通过AJAX呈现注释语句,但我得到了错误“堆栈级别太深”-你知道吗,我可能会忘记什么?(我更新了我的问题)。谢谢
$('#photo_comment').html("<%= escape_javascript(render('photos/photo_comments')) %>");
ActionView::Template::Error (stack level too deep):
activesupport (3.2.1) lib/active_support/notifications/instrumenter.rb:23
Rendered photos/_photo_comments.js.erb (562.2ms)
Completed 500 Internal Server Error in 580ms
:locals => { :photo => photo }
:locals => { :photo => @comment.photo }