Я создаю приложение для управления проектами, и я создаю проект с form_for
, но внутри него я хочу, чтобы fields for
создал 3 студентов.
Я настроил свой new.html.erb
для проектов следующим образом:
<h1>Creating new project</h1>
<%= form_for :project, url: projects_path do |f| %>
<p>
<%= f.label :name %>
<%= f.text_field :name %>
</p>
<p>
<%= f.label :lecturer %>
<%= f.text_field :lecturer %>
</p>
<p>
<%= f.fields_for :students do |s| %>
<%= s.label :name %>
<%= s.text_field :name %><br>
<%= s.label :name %>
<%= s.text_field :name %><br>
<%= s.label :name %>
<%= s.text_field :name %>
<% end %>
</p>
<p>
<%= f.submit %>
</p>
<% end %>
И для метода create
просто добавили одну простую строку, чтобы увидеть мой результат form_for
:
def create
render text: params[:project].inspect
end
Итак, когда я заполняю текстовые поля на странице и нажимаю «Отправить», все, что я получаю, это {"name"=>"asd", "lecturer"=>"ffff", "students"=>{"name"=>"qeew"}}
, так что, как вы можете видеть, только мой последний студент был передан в этот словарь.
Как я могу создать несколько учеников в одном fields_for
? Или как я могу настроить эти две модели для работы друг с другом. Надеюсь, вы поняли мою точку зрения и знаете, чего я хочу добиться.