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

时间:2015-01-14 08:50:24

标签: ruby-on-rails forms ruby-on-rails-4

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

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

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

2 个答案:

答案 0 :(得分:3)

在前端,你可以使用jquery onClick函数添加字段以获得更多想法,即你可以添加一个名为“add more”的链接。创建一个jquery函数,以动态字段名称和相同的形式为另一个思想添加字段。在后端你可以使用

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

一次创建多个条目。

答案 1 :(得分:2)

您可以尝试使用以下解决方案

在您的查看文件

<%= 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

希望它适合你:)