我有一个零件,它有一个容器,里面装着一堆元素。如果我通过 ajax 添加项目,我想在不刷新页面的情况下将其反射(reflect)在这个容器中。我在寻找一种 jquery/ajax 方法来刷新页面上的那个部分时遇到问题。我确信有一种简单的方法我只是想念它。
最佳答案
.js.erb
$('#container_id').html('<%= escape_javascript(render(:partial => "partial", :formats => [:html])) %>');
完整示例:
# CommentsController
def refresh_comments
@comments = Comment.last_in(10.second) # fetch collection
respond_to do |format|
format.html { } # by default renders views/comments/refresh_comments.html.erb as template
format.js { } # by default renders views/comments/refresh_comments.js.erb as template
end
end
# views/comments/refresh_comments.js.erb
$('#post_comments').html('<%= escape_javascript(render(:partial => "comments_thread", :formats => [:html])) %>');
# * where: "post_comments" - is a DOM id of container.
# "comments_thread" - name of partial. :formats => [:html] says that you render _comments.html.erb
# Look JQuery API for details.
关于ruby-on-rails - 使用 Jquery 在 Rails 3 中使用 Ajax 刷新部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14094036/