初心者です。。
やりたいこと
メルカリの取引メッセージ画面のような
指定したの商品のメッセージ画面を作りたい
現状
三層ネスト構造でのルーム作成からのメッセージのやり取りがどうやってやるのかわからず
メッセージ画面に飛ぶ際にエラーが起きる
Couldn't find Room with 'id'=[1, 4]
聞きたいこと
このような場合データベース設計から見直したほうがいいのか
また、三層ネスト構造が可能であるのならばどうやってやればいいのかを知りたい
エラー部 ( message index) class MessagesController < ApplicationController def index @room =Room.find(params[:room_id]) ←ここの表記 ids にしてもダメでした @book = Book.find(params[:book_id]) @message =Message.all end def new @room = Room.find(params[:room_id]) @book = Book.find(params[:book_id]) @message = Message.new end
book index画面からメッセージ画面に飛ぶ予定です <li class ="btn5"><%= link_to "ロームで会話する?","/books/#{@book.ids}/rooms/#{@room.ids}/messages" %></li><br/>
bookコントローラー def index @books =Book.all @book =Book.includes(:room,:user) @room = @book.includes(:room) set_book_column end
ルーティング resources :books do resources :rooms, only: [:new, :create,:index] do resources :messages,only: [:create, :new,:index,:show] end end
book.rb belongs_to :user has_one :room, dependent: :destroy has_many :message, dependent: :destroy message.rb belongs_to :user, optional: true belongs_to :book, optional: true belongs_to :room, optional: true room_user.rb 値が入っている belongs_to :room, optional: true belongs_to :user, optional: true room.rb 値が入っている belongs_to :book, optional: true has_many :messages, dependent: :destroy has_many :room_users has_many :users, through: :room_users user.rb has_many :messages has_many :books, dependent: :destroy has_many :room_users has_many :rooms, through: :room_users
何日も解決してません
足りない情報がありましたら
お声掛けお願いします、、
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/14 13:10