Предположим, у меня есть следующий метод.
def create_multiple
project = Project.find(params[:project])
params[:tasks].each_value { |task| @tasks << @project.tasks.build(task) }
project.save
respond_with @tasks
end
Я думал об изменении его для вызова .create вместо build для создания задач, потому что я хочу, чтобы они сохранялись, если нет ошибок валидации, даже если другие задачи терпят неудачу из-за валидации. Мне интересно, что другие думают об этой идее? Я тоже думал об использовании create_or_update, но думаю, что хочу побудить людей удалять элементы, которые были успешно созданы, а не просто повторять вызовы с одним и тем же списком, пока не будут созданы все элементы.
Есть ли лучший способ сделать это, чтобы я мог продолжать вызывать .save один раз и заставить его создавать те, которые проходят валидацию и дают сбой тем, которые не обходятся без полного отказа?