0

我有一个包含用于创建配方的多个字段的部分 _form。我目前能够为烹饪步骤添加一个条目,并且烹饪步骤在提交时会附加到 recipe_id。

问题:

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

代码:

以下是我的控制器中到目前为止的内容:

def create 
    @cookingstep = CookingStep.new(params[:cooking_step])
    @cookingstep.recipe_id = @recipe.id
    @cookingstep.save 
end

以下是我目前在部分 _form.html.erb 中的内容:

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

<%= submit_tag "Submit"  %>
4

2 回答 2

0

您应该从具有许多烹饪步骤的 Recipe 模型开始,然后您就拥有多个模型,如railscasts视频中所述。

于 2012-06-02T20:28:59.317 回答
0

更简单的设计是将步骤 1、2、3 等以列表格式显示,底部有一个空格用于新条目。在列表中,依次提供编辑、删除和更改位置的选项。当你有这个工作时,你可能想给它一些 ajax。然后,对配方最好的 ajax 处理是使它们可拖动以更改顺序,in_place_editing 用于就地编辑,以及每个旁边的删除按钮用于删除该特定步骤。我希望这有帮助。

于 2012-06-02T20:21:04.250 回答