Я уверен, что перебираю эту проблему, но не могу понять, как просто создать и отправить несколько записей одновременно.У меня есть модель пользователя и модель прогнозирования.Пользователь имеет_ множество прогнозов, а прогноз принадлежит_ пользователю.Я вложил свои маршруты примерно так:
:resources users do
:resources predictions
end
, когда я захожу на сайт users / 1 /вестии / новый, мне нужно создать 6 записей прогноза и сразу отправить их в базу данных.
В моем контроллере Predictions:
before_filter :load_user
def new
3.times { @user.predictions.build }
end
def create
@prediction = @user.predictions.new(params[:prediction])
if @prediction.save
redirect_to @user, :notice => 'Prediction added'
else
redirect_to @user, :notice => 'Unable to add'
end
end
def destroy
@prediction = @user.prediction.find(params[:id])
@prediction.destroy
redirect_to @user, :notice => "Prediction deleted"
end
private
def load_user
@user = current_user
end
И в моем Prediction new.html.erb:
<%= form_for ([@user, @user.predictions.new]) do |f| %>
<div class="fields">
<%= f.label :position %>
<%= f.text_field :position %>
</div>
<div class="fields">
<%= f.label :athlete_id, 'Athlete'%>
<%= f.collection_select(:athlete_id, Athlete.all, :id, :name, :prompt => 'Select an athlete' )%>
</div>
<div class="fields">
<%= f.label :race_id, 'Race'%>
<%= f.collection_select(:race_id, Race.upcoming, :id, :name, :prompt => 'Select a race' )%>
</div>
<div class="actions"><%= f.submit %></div>
<% end %>
Это показывает и передает только одну запись вместо 3.Я подумал, что мне, возможно, придется использовать: acceptpts_nested_attributes_for, однако мне не нужно создавать и обновлять модели пользователей одновременно.Существующие пользователи будут создавать прогнозы по 3 записи за раз для нескольких гонок, так как это приложение для фэнтези-спорта.