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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

Q&A

解決済

1回答

130閲覧

rubyにおいて、情報の保存をしたい

aakikia

総合スコア1

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails

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

0グッド

0クリップ

投稿2024/03/24 09:37

実現したいこと

タイトル、コンテンツ、解答の保存をさせたい

発生している問題・分からないこと

パラメーターの中に情報は入っていますが、保存ボタンを押しても該当するページに遷移できず、かつデーターベースにも保存されません。

該当のソースコード

controller

1def new 2 @ktest = Ktest.new 3 end 4 5 def create 6 @ktest = Ktest.new(ktest_params) 7 if @ktest.save 8 redirect_to root_path 9 else 10 render :new, status: :unprocessable_entity 11 end 12 end 13 14def ktest_params 15 params.require(:ktest).permit(:title, :content, :answer) 16end

db>migrate

1class CreateKtests < ActiveRecord::Migration[7.0] 2 def change 3 create_table :ktests do |t| 4 t.string :title 5 t.text :content 6 t.text :answer 7 t.references :user, null: false, foreign_key: true 8 t.timestamps 9 end 10 end 11end 12

routes

1 resources :ktests 2

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

CHATGPTに確認してみたところ
バリデーションエラー: モデルに設定されているバリデーションが、保存しようとしているデータに違反している可能性があります。たとえば、必須フィールドが空白であったり、一意性が保証されているフィールドが重複している場合などです。バリデーションエラーが発生している場合、保存は行われずにレコードが作成されません。

トランザクションの問題: データベーストランザクションが正しく処理されていない場合、保存が失敗する可能性があります。トランザクションがロールバックされているか、コミットされていない可能性があります。

コールバックの問題: 保存の前後に実行されるモデルのコールバックが失敗している場合、保存が中断される可能性があります。たとえば、before_saveやbefore_createなどのコールバックが問題を引き起こしている可能性があります。

セキュリティ制約: アクセス権の問題やセキュリティ制約により、ユーザーがデータを保存する権限がない場合、保存が失敗します。

データベース接続の問題: データベース接続に問題がある場合、保存が失敗する可能性があります。データベースが正しく設定されていることを確認し、接続が正常に行われているかを確認してください。

補足

特になし

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

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

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

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

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

guest

回答1

0

自己解決

ストロングパラメーターのmerge を追記したところ解決しました

投稿2024/03/24 14:40

aakikia

総合スコア1

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問