Rails 3.1 Ajax问题

Dud*_*ime 3 javascript jquery ruby-on-rails coffeescript

我有一个名为post的脚手架,它有标题和描述.在我的布局上,我有一个链接来创建一个新帖子:remote => true.当我点击远程链接更改div的内容以便我可以创建新帖子时,我该如何制作?

Jua*_*ero 7

让我们假设您将使用的操作被调用new.您应该创建一个名为new.js.erb视图/帖子的文件,当您远程发布表单时,这些文件将被呈现.该文件必须包含将新帖子放入要填充的div中的javascript.例如,它可以包含

# new.js.erb
$('div#container').html("<p><%= escape_javascript(@post.title) %></p>").append("<p><%= escape_javascript(@post.content) %></p>"); 
Run Code Online (Sandbox Code Playgroud)

在ajax帖子完成并创建新帖子后,javascript将立即执行.请记住以下内容: - 您必须包含jQuery - 您必须在posts_controller中指定呈现.js格式的能力,类似于

# posts_controller.erb
def create
    @post = Post.new(params[:post])

    respond_to do |format|
      if @post.save
        format.html { redirect_to(@post, :notice => 'Post created via non AJAX.') }
        format.js # the actual ajax call
      else
        format.html { render :action => "new" }
      end
    end
end
Run Code Online (Sandbox Code Playgroud)