我这样做的方式是呈现create.js.erb
如下视图:
$("#my_dialog").replaceWith("<%= j(render 'dialog') %>");
其中_dialog.html.erb
包含对话框内容的 HTML。
<div id="my_dialog">
<!-- flash stuff etc -->
<%= form_for ... %>
<!-- ... -->
<% end %>
</div>
例如,您的控制器将如下所示:
class EntriesController < ApplicationController
def create
@entry = Entry.new(params[:entry])
respond_to do |format|
if @entry.save
format.html { redirect_to @entry }
format.js {} # this will render create.js.erb for js requests
else
format.html { render action: "new" }
format.js {} # this will render create.js.erb for js requests
end
end
end
end
像'dat一样的峰会。如果您不想重新加载整个表单,您可以更新或做任何您想做的事情.js.erb