使用单一表单创建多个记录(非嵌套属性)
在我的应用程序中,我有一个思维模型,它具有内容和作者属性。
我想使用新表单一次创建多个想法。 但这不是嵌套表单的情况,因为我没有使用任何相关的模型。
请提出一些解决方案。 提前致谢!
您可以尝试使用以下解决方案
在您的视图文件中
<%= 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
希望这对你有用 :)
在前端,您可以使用jquery onClick函数添加字段以获得更多想法,即您可以添加一个名为“添加更多”的链接并创建一个jquery函数,以使用动态字段名称在同一表单中添加另一个思想的字段,在后端,您可以使用
@thoughts = Thought.create([{ author: 'Chicago', content: 'content' }, { author: 'Chicago', content: 'content' }, .......])
一次创建多个条目。