0

我正在通过在运行时添加新帖子而不刷新页面来使用 Rails 实现 Ajax。问题是我想通过这个分配在create.js.erb

 $('<%=render(:file => "posts/post.html.erb)%>').insertBefore($('.posts').children('div.post-box').first());

但它不起作用,谁能告诉我这个脚本有什么问题以及如何从特定视图中选择 jquery 中的 html 代码?

这就是create行动

def create
  @post = Post.new(params[:post])
  respond_to do |format|
    if @post.save
      format.html { redirect_to :back, notice: 'Post was successfully created.' }
      format.js             
    end
end
4

1 回答 1

0

您只需要添加escape_javascript方法,就像这样

$('<%= escape_javascript(render(:file => "posts/post.html.erb"))%>').insertBefore($('.posts').children('div.post-box').first());
于 2012-07-04T02:41:37.917 回答