LoginSignup
0
0

More than 1 year has passed since last update.

zipを使った中間テーブルへのレコード追加

Posted at

コードそのままはやばそうだからテーブル名とかは変えてる。

controller
def create
    answer = Answer.new(answer_params)
    dates = answer.dates
    sc_answers_params.zip(dates) do |status, date|
      answer.sc_answers.build(date_id: date.id, status:)
    end
    if answer.save
      render json: [answer, answer.sc_answers]
    else
      render json: answer.errors
    end
  end

createメソッドで親テーブルに値を追加すると同時に子テーブルにも値を追加してる。
buildメソッドで作ってるけどnewメソッドでもいける。ただ、子テーブルに関連レコードを作るときは慣習的にbuildメソッドを使用するらしい。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0