我试图在提交表单后呈现我在当前页面顶部制作的部分内容。这应该发生在控制器的 create 方法中,但我似乎无法弄清楚这是否可以在 Ruby 中完成,或者我是否应该使用 Javascript 来渲染它。
这是我到目前为止所尝试的:
- 在与 new.html.erb 相同的文件夹中创建了一个部分(称为 _lightbox.html.erb)
- 控制器渲染更改为:
def create
@user = User.new(params[:user])
respond_to do |format|
if @user.save
BackgroundJob.perform_async(@user.id)
format.html { render :partial=>"lightbox", :layout=>false}
format.json { render json: @user, status: :created, location: @user }
else
format.html { render action: "new" }
format.json { render json: @user.errors, status: :unprocessable_entity }
end
end
end
我已经阅读了渲染,但是使用 :partial 键它只是在新页面上渲染部分。我可能应该只是将表单更改为使用 :remote 并添加带有 ajax 成功的灯箱式内容,但是我很好奇这是否可以使用 Ruby on Rails 及其渲染功能来完成。