Създавам приложение за управление на проекти и създавам проект с 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
? Или как мога да настроя тези два модела да работят един с друг. Надявам се, че разбирате моята гледна точка и знаете какво искам да постигна.