Javascript 动态创建新字段以将多个行条目提交到表模型中

Javascript 动态创建新字段以将多个行条目提交到表模型中,javascript,jquery,ruby-on-rails,ruby,ruby-on-rails-3,Javascript,Jquery,Ruby On Rails,Ruby,Ruby On Rails 3,我有一个partial _表单,其中包含多个用于创建配方的字段。我现在可以为烹饪步骤添加一个条目,并且烹饪步骤在提交时会附加食谱id 问题: 显然,每个食谱的比一个烹饪步骤要多。如何在其下方动态添加另一个/或多个字段以创建步骤2、步骤3、步骤4等。所有这些步骤都进入一个模型cooking_Step.rb。我看过嵌套表单上的railscast视频,不仅有点混乱,而且我认为它不适用于我所做的事情,因为我使用的是同一个模型,而不是多个模型 代码: 以下是迄今为止我在控制器中拥有的内容: def cre

我有一个partial _表单,其中包含多个用于创建配方的字段。我现在可以为烹饪步骤添加一个条目,并且烹饪步骤在提交时会附加食谱id

问题:

显然,每个食谱的比一个烹饪步骤要多。如何在其下方动态添加另一个/或多个字段以创建步骤2、步骤3、步骤4等。所有这些步骤都进入一个模型cooking_Step.rb。我看过嵌套表单上的railscast视频,不仅有点混乱,而且我认为它不适用于我所做的事情,因为我使用的是同一个模型,而不是多个模型

代码:

以下是迄今为止我在控制器中拥有的内容:

def create 
    @cookingstep = CookingStep.new(params[:cooking_step])
    @cookingstep.recipe_id = @recipe.id
    @cookingstep.save 
end
以下是我目前在partial _form.html.erb中的内容:

<%= fields_for @cookingstep do |din| %>
    <%= din.label :instruction %>
    <%= din.text_field :instruction %>
<% end %>

<%= submit_tag "Submit"  %>


一个更简单的设计是将步骤1、2、3等以列表格式显示,在底部留有一个空格,用于输入新条目。在列表中,按顺序提供编辑、删除和更改位置的选项。当你有工作,你可能想给它一些ajax。那么,对于一个菜谱来说,最好的ajax处理方法就是让它们能够改变顺序,就地编辑用于就地编辑,每个步骤旁边都有一个删除按钮用于删除特定的步骤。我希望这能有所帮助。

你应该从食谱模型开始,它有许多烹饪步骤,现在你有了视频中解释的多种模型。

谢谢,我一定会尝试一下!我以前确实尝试过railscast视频,但无法理解以下内容:模块ApplicationHelper def link_to_add_fields(name,f,association)new_object=f.object.send(association).klass.new id=new_object.object_id fields=f.fields_for(association,new_object,child_index:id)do | builder | render(association.to_.s.singularize+“_fields”,f:builder)结束链接_to(名称,“#”,类:“添加_fields”,数据:{id:id,fields:fields.gsub(“\n”,”)})请您解释一下从railscast复制和粘贴代码后需要替换代码中的哪些项目。很抱歉将代码和我的问题混为一谈,但我的问题是,我是否需要更改模块ApplicationHelper中的任何内容以使其适用于我的代码?