Как я могу получить несколько полей ввода для моей формы, которые являются уникальными? - PullRequest
0 голосов
/ 01 мая 2018

Я создаю приложение для рецептов, где у пользователя есть возможность выбрать уже существующие ингредиенты, а если ингредиент не может быть найден, у пользователя есть возможность записать название ингредиента в поле ввода. Я хочу, чтобы в форме было до 5 полей ввода.

Я видел похожие вопросы, но их решение не помогло. q1

q2

Вот что я получил до сих пор, я попробовал два способа сделать это.

<%=f.fields_for :ingredients do |ing|%>
    <%= ing.label :name, "Enter ingredient name"%>
    <br>
    <%= ing.text_field :name%>
 <%end%>

 <%=f.fields_for :recipe_ingredients do |ri|%>
    <%=ri.fields_for :ingredient do |ing|%>
        <%=ing.label :name, "enter ing name"%>
        <%=ing.text_field :name%>
    <%end%>
 <%end%>

recipes_controller.rb

def new
    @recipe = Recipe.new
    5.times do 
        @recipe.recipe_ingredients.build.ingredient
    end
    5.times do 
        @recipe.ingredients.build
    end
end

1020 * Ассоциация *

Рецепт содержит много ингредиентов через recipe_ingredients.

У ингредиента есть много рецептов через recipe_ingredients.


Я получаю обратно только 1 поле ввода для обоих случаев. Как я могу это сделать?

1 Ответ

0 голосов
/ 01 мая 2018

Оказывается, что оба метода работают. Все, чего мне не хватало, - это добавить «accepts_nested_attributes_for» в мой класс модели рецептов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...