Ruby on rails 3 通过多个部分提交表单
我有一个很长的表格,我想分成5个部分。当用户点击每个部分底部的“Next”时,我想使用AJAX加载下一部分,直到最后一部分将整个表单提交到数据库中。此外,如果用户点击“Previous”,我需要用用户先前填写的内容填充字段 到目前为止,我有一个不起作用的方法: users/new.html.erbRuby on rails 3 通过多个部分提交表单,ruby-on-rails-3,jquery,Ruby On Rails 3,Jquery,我有一个很长的表格,我想分成5个部分。当用户点击每个部分底部的“Next”时,我想使用AJAX加载下一部分,直到最后一部分将整个表单提交到数据库中。此外,如果用户点击“Previous”,我需要用用户先前填写的内容填充字段 到目前为止,我有一个不起作用的方法: users/new.html.erb <%= form_for(@user, :html => { :class => "form-horizontal" }, remote: true) do |f| %> ..
<%= form_for(@user, :html => { :class => "form-horizontal" }, remote: true) do |f| %>
...
<%= f.submit "Next" %>
def create
@user = User.new(params[:user])
if @user.save
respond_to do |format|
format.html { flash[:success] = "Welcome to Friends First!"
redirect_to @user }
format.js
end
else
render :new
end
end
$("#site_content").html("<%= escape_javascript(render('layouts/partial2')) %>");
create.js.erb
<%= form_for(@user, :html => { :class => "form-horizontal" }, remote: true) do |f| %>
...
<%= f.submit "Next" %>
def create
@user = User.new(params[:user])
if @user.save
respond_to do |format|
format.html { flash[:success] = "Welcome to Friends First!"
redirect_to @user }
format.js
end
else
render :new
end
end
$("#site_content").html("<%= escape_javascript(render('layouts/partial2')) %>");
$(“#站点内容”).html(“”);
我会将5个部分中的每一部分放在单独的div(display:none)中,只显示(display:block)第一部分。当用户单击“下一步”时,我将显示第二步,等等。也可以通过jquery完成对创建操作的最终提交
$.ajax(
url: '/users',
type: 'post',
data: $("form").serialize()
)
我希望这会有帮助