前提・実現したいこと
railsでグループが作成でき、その中で以下2つのことができるアプリを開発しています。
①グループメンバー同士のチャット
②グループごとに場所(store)を登録でき、そのstoreについてメンバーがコメントをすることができる。
発生している問題・エラーメッセージ
storeに関するコメントについてはinformというテーブルを設けています。
URLの階層が
group/group_id/store/store.id/inform
となっています。
informのテーブルを作成したのでrails consoleで保存を行おうとしたところ保存ができません。
pry(main)> Inform.create(content:"test", group_id:1, store_id: 1, user_id:1) (0.4ms) BEGIN User Load (0.5ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 1 LIMIT 1 Store Load (0.3ms) SELECT `stores`.* FROM `stores` WHERE `stores`.`id` = 1 LIMIT 1 Group Load (0.3ms) SELECT `groups`.* FROM `groups` WHERE `groups`.`id` = 1 LIMIT 1 (0.2ms) ROLLBACK => #<Inform:0x00007fa95b9ffef0 id: nil, content: "test", group_id: 1, store_id: 1, user_id: 1, created_at: nil, updated_at: nil>
該当のソースコード
ruby
1#inform.rb 2class Inform < ApplicationRecord 3 belongs_to :user 4 belongs_to :store 5 belongs_to :group 6 7 validates :content, presence: true 8 9end 10 11 12 13#20200715074017_create_informs.rb 14class CreateInforms < ActiveRecord::Migration[6.0] 15 def change 16 create_table :informs do |t| 17 t.string :content 18 t.references :group, foreign_key: true 19 t.references :store, foreign_key: true 20 t.references :user, foreign_key: true 21 t.timestamps 22 end 23 end 24end 25
試したこと
やり直そうとgithubでコミットを取り消した際、informテーブルをできているが、inform.rb(モデル)がないという状態になっていたので、テーブルを削除、マイグレーションを削除、
rails g model informでモデル生成
migrationファイルに上記を記述
rails db:migrateでテーブル作成
validatesが邪魔をしているかもという記事を見つけたのでコメントアウトしてみましたがダメでした。
補足情報(FW/ツールのバージョンなど)
MySQL 5.6.47
sequel Pro
Rails 6.0.3.2
回答2件
あなたの回答
tips
プレビュー