我有一个名为的页面/index
,您可以添加一个House
and Dog
。该页面一开始是空白的,但侧面有链接,您可以单击这些链接以动态调出其中一个表单。这些形式是它们自己的部分。
对于这个问题/示例,我将使用 Dog 模型。ADog
属于House
。
class Dog
attr_accessible :name, :primary_color, :secondary_color, :house_id.........
belongs_to :house
end
狗控制器
def new
@dog = Dog.new
respond_to do |format|
format.js
end
end
狗/_form.html.erb
<%= simple_form_for(@dog, :remote => true) do |f| %>
<%= render :partial => "shared/error_message", :locals => { :f => f } %>
<%= f.input :name %>
<%= f.input :primary_color %>
<%= f.input :secondary_color %>
<%= f.association :house, :prompt => "Select a House" %>
<%= f.button :submit, 'Done' %>
<% end %>
页面控制器
def index
respond_to do |format|
format.html
end
end
页面/index.html.erb
<li><%= link_to "Dog", new_dog_path, :remote => true %></li>
<div id="generate-form">
</div>
狗/new.js.erb
$("#generate-form").html("<%= escape_javascript(render(:partial => 'dogs/form', locals: { dog: @dog })) %>");
但现在有时,您可能正在添加一只狗,但需要先添加它所在的房子,然后才能继续。现在,如果您这样做,它只会删除整个 Dog 表格。切换到其他表单时如何保存这些字段的进度?当用户退出页面时怎么办?