ROR通过表单一次构建插入多个记录

时间:2015-10-20 16:12:55

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

Form screenshot

图像向上解释说有雇员已经分配了三个项目,此时他想要填满字段,因为他想要的例子他可以填满2个字段并按提交btn或1或3取决于他有多少项目已被分配。

我无法做的是我想在单个提交中插入表中的多个字段我不明白我写的代码会起作用 我的控制器中的代码如下。

def new  
  @pro=Employee.find(params[:employee_id])
  @timesheet=Timesheet.new
  @project=Project.where(:employee_id => params[:employee_id]).sorted
end

def create
  @pro=Employee.find(params[:employee_id])
  @timesheet=Timesheet.new(params.require(:timesheets).permit(:employee_id,:project_id,:IN,:comments))

  if @timesheet.save
    flash[:notice] = "data entered."
    redirect_to(:action => 'show',:employee_id =>@pro.id)
  else 
    flash[:notice]="logged out"
  end
end

我的new.html.erb中的代码如下

<%= 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 %>
            <% end %>
        </tr>
    <% 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>
   

0 个答案:

没有答案