使用单个表单创建多个记录(非嵌套属性)

Create multiple records using single form (Not nested attributes)

在我的应用程序中,我有一个具有内容和作者属性的思想模型。

我想使用新的形式一次创建多个想法。但这不是嵌套表单的情况,因为我没有使用任何关联模型。

请提出一些解决方案。 提前致谢!

在前端,您可以使用 jquery onClick 函数添加更多想法的字段,即您可以添加一个名为 "add more" 的 link 并创建一个 jquery 函数来添加具有动态字段名称的相同形式的另一个想法的字段&在后端你可以使用

@thoughts = Thought.create([{ author: 'Chicago', content: 'content' }, { author: 'Chicago', content: 'content' }, .......])

一次创建多个条目。

您可以尝试以下解决方案

在您的视图文件中

<%= form_tag your_action_path do %>
  <% 4.times do |i|%>
    Content : <%= text_area_tag :thought_content, "", :name => "thoughts[][content]" %>
    Author : <%= text_field_tag :thought_author, "", :name => "thoughts[][author]" %>
  <% end %>
  <%= submit_tag "Submit" %>
<% end %>

控制器代码:

def your_action
  params[:thoughts].each do |thought_params|
    Thought.create(thought_params)
  end
  ###
  #Any further code#
  ###
end

希望对你有用:)