1

我想使用相同的模型在一个视图(new.erb.html)中通过一次提交一次创建更多记录。

例如,我有一个名为 Report 的模型,其中包含一些字段,例如标题、描述和日期

当我单击添加按钮时,如何多次渲染相同的表单?我认为这不是嵌套模型的问题,因为始终是相同的模型动作。谢谢

4

2 回答 2

1

你可以做这样的事情(我自己没有测试过代码):

哈姆:

.model
  %input{:name => "model[][name]"}
  %input{:name => "model[][desc]"}
  %input{:name => "model[][date]"}
.container
%button.add-model

js:

$('.add-model').click(function(){
  $('.model').clone().first().appendTo('.container');
})

控制器:

def save
   params[:model].each do |props|
     Model.create(props)
   end
end
于 2013-01-23T16:23:59.033 回答
0

我所做的是使用 JavaScript (jQuery) - 在页面加载时,我将唯一呈现的表单保存到 JS 变量中(实际上不是表单,而是其中的输入),然后单击“添加更多”链接将更多输入添加到表单中.

并且要一次保存许多对象,您将需要手工制作的输入名称(例如model[][name]为了发送值数组),以及接受数组的控制器。

于 2013-01-23T16:01:03.947 回答