Witam
Prosilbym o ukierunkowanie mnie, poniewaz nie za bardzo wiem jak zabrac sie za moj problem.
Potrzebuje zrobic formularz, ktory zapisze dane za jednym razem u kilku uzytkownikow.
Dzienniczek treningowy - trener po ulozeniu treningu wybiera u ktorych zawodnikow ma sie on zapisac. Po kliknieciu “zapisz” formularz wysyla dane i zapisuje je u konkretnych osob.
Jeśli już polecamy Railscasty, to akurat tutaj najlepszy byłby ten o FormObjectach: http://railscasts.com/episodes/416-form-objects
plus ew. ten o Service Objects (#398). I poczytanie o wzorcach Mediator albo Builder.
Witam
Wielkie dzięki za podpowiedzi! W zasadzie chyba wiem jak powinno to wyglądać jednak nie potrafię wsadzić elementu tablicy :runner_ids pod zmienna :runner_id.
będę wdzięczny za pomoc!
pozdrawiam
trainings_controller.rb
def index
@runners = Runner.all
@Training = Training.new
end
def proba
@runners = Runner.find(params[:runner_ids])
@runners.each do |a|
Training.create(params.require(:training).permit(:name, **:runner_id** ))
end
redirect_to trainings_url
end
index.html.erb
<%= form_tag proba_trainings_path, method: : put do %>
<table>
<tr>
<th></th>
<th>zawodnik</th>
</tr>
<% @runners.each do |r| %>
<tr>
<td><%= check_box_tag "runner_ids[]", r.id %></td>
<td><%= r.runner_name %></td>
</tr>
<% end %>
</table>
<%= fields_for @training do |f| %>
<table>
<tr>
<td>
<%= f.label :name %><br>
<%= f.text_field :name %>
</td>
<td>
<%= f.hidden_field :runner_id %>
</td>
</tr>
</table>
<% end %>
<%= submit_tag "Proba Training" %>
<% end %>