Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails RubyonRails使用无关系的表单在表中插入多条记录_Ruby On Rails - Fatal编程技术网

Ruby on rails RubyonRails使用无关系的表单在表中插入多条记录

Ruby on rails RubyonRails使用无关系的表单在表中插入多条记录,ruby-on-rails,Ruby On Rails,我正在建立一个时间表项目。我想根据分配给员工的项目数量插入多个记录 问题是如何使用表单在表中插入多条记录 例如,我正在尝试制作的图像: 表格编号为 <%= form_for(:timesheets, :url => {:action => 'create',:employee_id => @pro.id}) do |d| %> <% if !@project.nil? %> <% @project.each do

我正在建立一个时间表项目。我想根据分配给员工的项目数量插入多个记录

问题是如何使用表单在表中插入多条记录 例如,我正在尝试制作的图像:

表格编号为

<%= form_for(:timesheets, :url => {:action => 'create',:employee_id => @pro.id}) do |d| %>


      <% if !@project.nil? %>
        <% @project.each do |page| %>
           <tr>
              <%= d.hidden_field("employee_id" ,:value => @pro.id) %>
              <%= d.hidden_field("project_id" ,:value => page.id) %>

              <% if !page.employee_id.blank? %>
                   <td><%= page.prog_name %></td>
                   <td><%= d.text_field("IN",:class => "qty1") %></td>
                   <td><%= d.text_field("comments") %></td>
              <% end %>

            </tr>
         <% end %>     
      <% end %>


      <tr>
        <td>Total hours</td>
        <td colspan="2"><%= text_field_tag("total")%></td>
      </tr>
      <tr border="0">
        <td><%= submit_tag("Submit") %></td>
        <td colspan="2" border="0"></td>
      </tr>
<% end %>
{:action=>'create',:employee_id=>@pro.id})do | d |%>
@专业id)%>
页面id)%>
“qty1”)%>
总小时数

你的问题很模糊,但我想我明白你的意思。最近我不得不构建一个类似的表单,并使用了一个带有row类的表单对象,row类的一个实例被初始化为需要添加的每个记录

如果您还不熟悉表单对象,请参见以下介绍:


这并没有包含您需要的很多细节,但它是我所看到并用于解决此类问题的模式的粗略概念大纲

您是否有任何到目前为止您尝试过的示例,或者有任何代码或其他有用的信息?
class TimesheetForm

  # include ActiveModel stuff here
  # attr_reader :projects, ...
  # validations for form as a whole, if desired

  def initalize(employee)
    @employee = employee
    @projects = employee.projects
  end

  def submit(params)
    # extract params and create new instances of TimesheetForProject for each set of timesheet params
    # run validations on all @timesheet_rows
    # persist if all validations pass
  end

  class TimesheetForProject

    # validations for each timesheet record

    def initialize(project)
      @project = project
    end

    # timesheet-specific form logic

  end
end