質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

438閲覧

新規登録をした時に保存することができない

diego

総合スコア4

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2022/07/19 17:20

前提

scaffoldコマンドを使い、CRUD処理を行なったところ以下のエラーが発生し新規登録する際に保存することができません。
if @schedule_memo.saveにエラーが出ており、誤字など探してみたのですが自力では解決することができませんでした。
宜しくお願い致します。

#エラーメッセージ

ruby

1NameError in ScheduleMemosController#create 2uninitialized constant ScheduleMemo::Title 3Extracted source (around line #27): 4 5 respond_to do |format| 6 if @schedule_memo.save 7 format.html { redirect_to schedule_memo_url(@schedule_memo), notice: "Schedule memo was successfully created." } 8 format.json { render :show, status: :created, location: @schedule_memo } 9 else 10### 該当のソースコード 11

ソースコード

ruby

1class ScheduleMemosController < ApplicationController 2 before_action :set_schedule_memo, only: %i[ show edit update destroy ] 3 4  # GET /schedule_memos or /schedule_memos.json 5 def index 6 @schedule_memos = ScheduleMemo.all 7 end 8 9  # GET /schedule_memos/1 or /schedule_memos/1.json 10 def show 11 end 12 13  # GET /schedule_memos/new 14 def new 15 @schedule_memo = ScheduleMemo.new 16 end 17 18  # GET /schedule_memos/1/edit 19 def edit 20 end 21 22  # POST /schedule_memos or /schedule_memos.json 23 def create 24 @schedule_memo = ScheduleMemo.new(schedule_memo_params) 25 26 respond_to do |format| 27 if @schedule_memo.save 28 format.html { redirect_to schedule_memo_url(@schedule_memo), notice: "Schedule memo was successfully created." } 29 format.json { render :show, status: :created, location: @schedule_memo } 30 else 31 format.html { render :new, status: :unprocessable_entity } 32 format.json { render json: @schedule_memo.errors, status: :unprocessable_entity } 33 end 34 end 35 end 36 37 # PATCH/PUT /schedule_memos/1 or /schedule_memos/1.json 38 def update 39 respond_to do |format| 40 if @schedule_memo.update(schedule_memo_params) 41 format.html { redirect_to schedule_memo_url(@schedule_memo), notice: "Schedule memo was successfully updated." } 42 format.json { render :show, status: :ok, location: @schedule_memo } 43 else 44 format.html { render :edit, status: :unprocessable_entity } 45 format.json { render json: @schedule_memo.errors, status: :unprocessable_entity } 46 end 47 end 48 end 49 50 # DELETE /schedule_memos/1 or /schedule_memos/1.json 51 def destroy 52 @schedule_memo.destroy 53 54 respond_to do |format| 55 format.html { redirect_to schedule_memos_url, notice: "Schedule memo was successfully destroyed." } 56 format.json { head :no_content } 57 end 58 end 59 60 private 61 # Use callbacks to share common setup or constraints between actions. 62 def set_schedule_memo 63 @schedule_memo = ScheduleMemo.find(params[:id]) 64 end 65 66 # Only allow a list of trusted parameters through. 67 def schedule_memo_params 68 params.require(:schedule_memo).permit(:title_id, :start, :fin, :all, :memo) 69 end 70end

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

scaffoldコマンド実行時にカラム名を間違っているかもしれません。
title_idではなくてschedule_idとかになる気がしますがいかがでしょうか?

Ruby

1params.require(:schedule_memo).permit(:title_id, :start, :fin, :all, :memo)

もしそうならrails destroyコマンドでやり直してみると良いかと思います。

投稿2022/07/20 04:27

no1knows

総合スコア3365

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問