Rails 4同一页面上的多个重复表单,其中1个提交

时间:2015-06-03 15:37:24

标签: ruby-on-rails forms

我需要帮助,并想要求更完整的Rails 4响应。此问题与How to submit multiple, duplicate forms from same page in Rails - preferably with one buttonSubmitting multiple forms in Rails非常相似。

我的表单似乎正在运行,但我不确定控制器特别是强大的参数和视图应该是什么样子。以下是我表格的部分内容。

<%= form_tag @metal, class: 'form-horizontal' do %>
      <%= label_tag :metal %><br>
      <%= select_tag "metal[][metal]", options_for_select(Metal.metals.map { |k,v| [k.humanize, k] }) %>
      <%= label_tag :weight %><br>
      <%= number_field_tag "metal[][weight]" %>
      <%= label_tag :unit %><br>
      <%= select_tag "metal[][unit]", options_for_select(Metal.units.map { |k,v| [k.humanize, k] }) %>
            <!-- 2nd form same as first -->
       <%= label_tag :metal %><br>
       <%= select_tag "metal[][metal]", options_for_select(Metal.metals.map { |k,v| [k.humanize, k] }) %>
       <%= label_tag :weight %><br>
       <%= number_field_tag "metal[][weight]" %>
       <%= label_tag :unit %><br>
       <%= select_tag "metal[][unit]", options_for_select(Metal.units.map { |k,v| [k.humanize, k] }) %>
     <%= submit_tag "Submit", class: "btn btn-primary btn-block" %>
<% end %>

提交的参数如下:

{"utf8"=>"✓",
 "authenticity_token"=>"b0jT....=",
 "metal"=>[{"metal"=>"10_karat_gold",
 "weight"=>"4",
 "unit"=>"grams"},
 {"metal"=>"14_karat_gold",
 "weight"=>"6",
 "unit"=>"pennyweight"}],
 "commit"=>"Submit"}

我现在的控制人: class MetalsController&lt; ApplicationController中

def index
    @metal = Metal.new
end

def create
        array_number = 0
        3.times do
            @requested_metal = RequestedMetal.create!(metal_params)
            @metal = Metal.calculate_metal(@requested_metal).first
            array_number = array_number + 1
        end
end

def show

end

private

    def metal_params
        params.require(:metal).permit([:metal, :unit, :weight, :price])
    end

end

视图只是指两个模型中的变量:

<h1><%= requested_metal.metal.humanize %> <%= @requested_metal.weight %></h4>

0 个答案:

没有答案
相关问题