Rails - 插入多个记录/动态表单

时间:2016-05-25 21:07:32

标签: ruby-on-rails forms activerecord

我正在使用Rails应用程序中的动态表单,我需要在单个表单提交中将可变数量的记录插入到模型中。我已经使用PHP完成了这项工作 - > MySQL / Postgres之前,但我不知道如何在Rails中做到这一点。

最终,用户应该能够创建任意数量的记录,但在下面的示例中,我将其限制为2 ...让我看看我是否可以这样做,首先......

这里是表单 - ids都获得了一个唯一的后缀,因为它们是在提交时从localStorage对象动态填充的。

new.html.erb

<%= form_for @entry, html: {id: :new_entry_form} do |f| %>
    <% for i in 0..1 %>
        <%= f.text_field :name, :id => 'name_#{i}' %>
        <%= f.text_field :day, :id => 'day_#{i}' %>
    <% end %>
<% end %>

这是关联的控制器 - 我确定这是遗漏了什么,但我不知道是什么。

def new
    @entry = Entry.new
end

def create
    @entry = Entry.create(entry_params)
    redirect_to "http://localhost:3000/entries"
end

private
def entry_params
    params.require(:entry).permit(:name, :day)
end

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

按照此链接显示如何在一个表单中创建多个对象提交:

http://vicfriedman.github.io/blog/2015/07/18/create-multiple-objects-from-single-form-in-rails/