Programming Journal

学習したことの整理用です。

ログインしているユーザーが掲示板を作成するには

UserモデルとBoardモデル間で関連付けを行っているときの掲示板作成方法

掲示板作成の機能を実装しようとしたところ、登録に成功しない…

def create
    @board = Board.new(board_params) #ここを修正する。
    if @board.save
      redirect_to boards_path, success: '投稿を作成しました'
    else
      flash.now[:danger] = '投稿に失敗しました'
      render :new
    end
  end
・
・
private 

def board_params
    params.require(:board).permit(:title, :body)
  end

UserモデルとBoardモデルを紐付けているカラムのuser_idにNOT NULL制約を付けています。 上のコードだと、user_idの登録がないため、作成ができませんでした。

    @board = current_user.boards.build(board_params)

こうする。

Active Record の関連付け - Railsガイド