Ruby on rails 使用Rails表单提交类的多个实例

Ruby on rails 使用Rails表单提交类的多个实例,ruby-on-rails,forms,object,model,Ruby On Rails,Forms,Object,Model,我有一个有趣的困境。我有一个:配料字段,用于获取用户对配料的输入。每种配料都属于一个配方,它是的表单(配料是的字段)。但是,用户应该能够输入多种成分,数量不限。现在我已经实现了添加1种成分的功能,如下所示: <%= form_for(:recipe, :url => {:action => 'create'}) do |f| %> <%= fields_for :ingredient do |i| %> <%= i.text_

我有一个有趣的困境。我有一个
:配料
字段,用于获取用户对配料的输入。每种配料都属于一个配方,它是的
表单(配料
是的
字段)。但是,用户应该能够输入多种成分,数量不限。现在我已经实现了添加1种成分的功能,如下所示:

<%= form_for(:recipe, :url => {:action => 'create'}) do |f| %>

    <%= fields_for :ingredient do |i| %>
         <%= i.text_field(:quantity, :size => '6', :maxlength => '6') %>
         <%= i.text_field(:units, :size => '20', :maxlength => '20') %> 
    <% end %>

<% end %>
{:action=>'create'})do | f |%>
“6',:maxlength=>“6')%>
“20',:maxlength=>20'”%
为了简化事情,我将对无限需求进行描述,稍后我将使用AJAX进行描述,并假设用户最多只输入20个。我不知道如何设计我的
表单来实现这一点,以及如何访问控制器中这20个元素中的每一个。它是不是类似于
params[:recipe][1…20]

我读到这个问题:


但是我仍然被卡住了,如果可能的话,我想避免使用gem(我知道这是一个愚蠢的限制)。

看看
嵌套形式的
gem,以便添加
多种成分。也看看

class Recipe < ActiveRecord::Base
  accepts_nested_attributes_for :ingredients
end
内部视图

<%= nested_form_for(@recipe, :url => {:action => 'create'}) do |f| %>
{:action=>'create'})do | f |%>

在我的
配方
模型中,我确实有一个
接受
的嵌套属性,但是为什么我需要它来制作
配料
模型?好吧,我做了所有这些,我得到了一个错误:
未定义的方法反映NilClass:Class的关联:
3:4:添加一个新配方5:6:{:action=>'create'})do | f |%>7:
很抱歉,这是其他问题。我的实际错误是,
未定义的方法link to_remove for#
。我认为
link to_remove
link to_add方法是内置的?这两种方法都是在嵌套表单生成器中定义的。如果使用自定义表单生成器,则需要使用嵌套表单生成器我不认为我使用的是自定义的吗?
<%= nested_form_for(@recipe, :url => {:action => 'create'}) do |f| %>