0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Ruby on Rails で作成したフォームの一つが内容を取得しない

Posted at

#バグ発生
「Ruby on Rails で作成したフォームの一つが内容を取得しない」
1、各フォームに入力する。
2、Postを押す。
3、「Posting failed.」で登録できない。
4、Takleのフォームだけ直前に入力した内容を保持してない。

スクリーンショット 2020-05-13 15.49.52.png

#結論
該当のコントローラーのcreateアクションにしている今回だと「fish_params」の中に「:tackle」を忘れてた。
そのため情報を取得できずに「Posting failed.」してた。

  def create
    @fish = current_user.fishs.build(fish_params)
    if @fish.save
      flash[:success] = "Successfully posted."
      render :show
    else
      @fishs = current_user.fishs.order(id: :desc).page(params[:page])
      flash.now[:danger] = "Posting failed."
      render :new
    end
  end

↓変更前


  def fish_params
    params.fetch(:fish, {}).permit(:day, :address, :kind, :number)
  end

↓変更後


  def fish_params
    params.fetch(:fish, {}).permit(:day, :address, :tackle :kind, :number)
  end

#解決方法
pry-byebugを使いceateアクションの中身を確認したところtackleがnilになっていた。
つまりそもそもパラメーターが取得できてないとわかりfish_paramsメソッドを確認したら記載漏れしてた。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?