Ruby on Rails에서 만든 양식 중 하나가 내용을 얻지 못함

3496 단어 Rails5

버그 발생



"Ruby on Rails에서 만든 양식 중 하나가 내용을 얻지 못합니다."
1, 각 양식에 입력합니다.
2, Post를 누릅니다.
3, 「Posting failed.」로 등록할 수 없다.
4, Takle의 양식만 직전에 입력한 내용을 유지하지 않는다.



결론



해당 컨트롤러의 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 메소드를 확인하면 기재 누설하고 있었다.

좋은 웹페이지 즐겨찾기