So I have the following models:
class Poll < ApplicationRecord validates :title, presence: true, allow_blank: false validates :options, presence: true has_many :options, dependent: :destroy end class Option < ApplicationRecord validates :title, presence: true, allow_blank: false belongs_to :poll end
And given the following data:
{ title: "My poll", options: [ {title: "Option 1"}, {title: "Option 2"}, {title: "Option 3"}, ] }
I would like to create a poll with 3 options.
This is my solution:
# POST /polls def create @poll = Poll.new(poll_params) params[:options].each do |option| @poll.options.new option.permit(:title) end if @poll.save render json: @poll, status: :created, location: @poll else render json: @poll.errors.full_messages, status: :unprocessable_entity end end