【问题标题】:Create multiple records using single form (Not nested attributes)使用单一表单创建多个记录(非嵌套属性)
【发布时间】:2015-01-14 08:50:23
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    您可以尝试以下解决方案

    在您的查看文件中

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

    希望它对你有用:)

    【讨论】:

      【解决方案2】:

      在前端,您可以使用 jquery onClick 函数添加字段以获得更多想法,即您可以添加一个名为“添加更多”的链接并创建一个 jquery 函数以使用动态字段名称和在同一表单中为另一个想法添加字段你可以使用的后端

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

      一次性创建多个条目。

      【讨论】:

      • 不错的一个班轮解决方案!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多