Мне нужно создать форму, которая может обрабатывать создание нескольких записей одной модели, и передавать информацию способом, который проходит через Сильные Параметры Rails.В интерфейсе я динамически добавляю два новых текстовых поля для имени и породы щенка и хочу сохранить их все в форму.Но у меня возникают проблемы с передачей множества имен щенков и породы с помощью Strong Params;получение
неизвестного атрибута 'puppies' для Puppy
Я думаю, что это что-то очень простое, я пропускаю.Пожалуйста, помогите сгенерировать этих щенков!
new.html.erb
<%= form_tag puppies_path do %>
<%= text_field_tag “puppies[puppies][]puppy[name]” %>
<%= text_field_tag “puppies[puppies][]puppy[breed]” %>
<%= submit_tag “Add Puppy” %>
<% end %>
, который генерирует эти параметры
"puppies"=>{"puppies"=>[{"puppy"=>{"name"=>"ribbon", "breed"=>"poodle"}}]}
и Сильные параметры в контроллере
class PuppiesController < ApplicationController
def index
@puppies = Puppy.all
end
def new
end
def create
puppies_array = puppies_params[:puppies].each do |puppy|
puppy[:puppy]
end
Puppy.create(puppies_array)
end
def show
@puppy = Puppy.find(params[:id])
end
private
def puppies_params
params.require(:puppies).permit({
puppies: [
puppy: [
:name,
:breed
]
]
})
end
end
Есть идеи, что мне не хватает?
Псевдокод того, через что я хочу пройти:
[(имя, порода), (имя, порода), (имя, порода)]
Как я могу написать это правильно?Я следую этому уроку https://medium.com/@dmccoy/how-to-build-html-inputs-to-submit-an-array-of-hashes-with-a-rails-form-tag-that-work-with-strong-f70a6c03d78e