Я пытаюсь создать приложение для оценки. Поскольку я новичок в StackOverflow, я не могу загрузить снимки экрана, но вот ссылки на снимки экрана
- Теперь это выглядит так .
- Это то, что я хочу, чтобы это было .
- Вот модели, задействованные в представлении. Просто нажмите на следующее изображение = последнее изображение в фотопотоке (опять StackOverflow не позволит мне публиковать более 3 гиперссылок).
Это представление выше: localhost / matchdays / 4 / matchs / new
Отношения будут выглядеть так:
- Матч имеет множество совпадений.
- A Match has_many games (максимум 3, но пока мы будем придерживаться 1). Мы обновим атрибут оценки.
- Игра имеет множество пар (максимум 2).
Мой вопрос:
Как вы кодируете в MatchesController (когда пользователь нажимает кнопку «Старт»), чтобы создать игру с 2 парами, и у каждой пары есть собственный счет (что является атрибутом в модели игры)?
Как выполнить цикл в представлении для добавления другой формы «Игра» (атрибут «Счет») и «Пара», принадлежащей к Матчу (в данном случае к Матчу 10)? Как на скриншоте 2 выше.
Контроллер соответствий:
def new
@matchday = Matchday.last
@match = Match.new()
@match.number = match_numbering
@pairs = Pair.all
@matchday.best_of.times { @match.games.build }
end
def create
@match = Match.new(params[:match])
@matchday = Matchday.last
@match.number = match_numbering
if @match.save
@matchday.matches << @match
flash[:success] = "Match recorded"
redirect_to matchdays_path
else
@title = "Record Match"
render 'new'
end
end
/ вид / спички / новый:
<h1>Match <%= @match.number %> of Matchday <%= @matchday.number %> details</h1>
<%= form_for @match, :url => {:action => 'create', :id => @match.id } do |p| %>
<%= render 'shared/error_messages', :object => p.object %>
<%= render :partial => 'match_form', :locals => {:p => p} %>
<% for game in @match.games %>
<%= fields_for :games, game do |game_form| %>
<p>
Score: <%= game_form.text_field :score, :size => 2 %>
</p>
<p>
Pair: <%= select(@pairs, :pair_id,Pair.all.collect{|p| [p.name]}) %>
</p>
<% end %>
<% end %>
<div class = "action_links">
<p> <%= link_to "Cancel", matchdays_path, :class => "cancel" %> |
<%= p.submit "Start" %></p>
</div>
<% end %>
Я думаю, что цикл должен быть где-то в цикле for, но не уверен, как это реализовать. Плюс мои поля_для выбора формы могут быть неправильными ... многому научиться:)