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

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

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

Haml(HTML abstraction markup language)は、HTML/XHTMLを効率的に記述するためのマークアップ言語および記法です。

Ruby

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

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

Q&A

解決済

1回答

3673閲覧

updateメソッド 商品編集機能 フリマアプリ

hirofumitorato

総合スコア1

Haml

Haml(HTML abstraction markup language)は、HTML/XHTMLを効率的に記述するためのマークアップ言語および記法です。

Ruby

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

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

Ruby on Rails

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

データベース

データベースとは、データの集合体を指します。また、そのデータの集合体の共用を可能にするシステムの意味を含めます

0グッド

0クリップ

投稿2020/05/15 12:02

編集2020/06/10 08:25

前提・実現したいこと

Rails フリマアプリのクローンを制作しています。
商品の出品機能(画像付き)は、出来たのですが
editページから商品情報の編集の際に
更新すると、以下のエラーとなります。

発生している問題・エラーメッセージ

ActiveRecord::NotNullViolation in ItemsController#update

Mysql2::Error: Field 'image' doesn't have a default value: INSERT INTO images (item_id, created_at, updated_at) VALUES (5, '2020-05-15 00:38:19', '2020-05-15 00:38:19')

該当のソースコード

該当のエラーコード app < controllers < ApplicationController

ruby

1 2def update 3 @item = Item.find(params[:id]) # ①インスタンス変数にセット 4 @item.update(item_params) # ②updateメソッドの実行 5 if @item.update(item_params) 6 redirect_to @item 7 else 8 9

ストロングパラメーター

ruby

1 2 private 3 def item_params 4 params.require(:item).permit(:name, :introduction, :condition, :area_id, :size, :price, :preparation_day, :postage, images_attributes: [:image]) 5 end 6end

マイグレーションファイル

ruby

1 2class CreateItems < ActiveRecord::Migration[5.2] 3 def change 4 create_table :items do |t| 5 t.string :name, null: false 6 t.text :introduction, null: false 7 # t.references :category, null: false, foreign_key: true 8 # t.references :brand, foreign_key: true 9 t.string :condition, null: false 10 t.integer :area_id, null: false 11 t.string :size 12 t.integer :price, null: false 13 t.integer :preparation_day, null: false 14 t.integer :postage, null: false 15 # t.references :seller, null: false, foreign_key: true 16 # t.references :buyer, foreign_key: true 17 t.timestamps 18 end 19 end 20end 21

試したこと

画像データが取得出来ていないと思い---
private以下
item_params内の、imageを image_id に変えてみましたが、ダメでした

補足情報(FW/ツールのバージョンなど)

ruby 2.5.1
gem 'rails', '~> 5.2.3'
gem 'mysql2', '>= 0.4.4', '< 0.6.0'

ここにより詳細な情報を記載してください。

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

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

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

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

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

m.ts10806

2020/05/15 12:27

>初心者です。。困っています 「初心者アイコン」があるので書かなくていいですし 「困っています」も不要です。この十数文字を要件の充実にあててください
guest

回答1

0

ベストアンサー

imagesテーブルにimageカラムがありませんか?
そこにdefault値が入ってなければnullを許可してください

投稿2020/05/15 12:11

yambejp

総合スコア116724

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問