#75 10/22~29 チャット機能の実装 binding.pryの表示も
そもそもMessageモデルが、DBにないのでは?
てことで、カラムを作成する
rails g migration CreateMessages content:text from_id:integer to_id:integer room_id:integer
ちなみにt.timestampsを追加
■メッセージの具体が表示されないバグ
@messagesがとなり、入っていない
どこにどう保存されて、見れるようになるのかを確認する
その上で、どこまで出来ているのか。
DBには登録されていない
・一旦rails cで無理やりDBに登録してみることに、、
https://qiita.com/geek_shanshan/items/c68befcae55c078b5a9d
そしたら表示された。
■パラメータの切り分け
1. valueのところに数値(男性であれば0、女性であれば1)が入るようにする
2. paramsのgenderに数値が入っていることを確認する
3. それでも保存できなければストロングパラメーターを確認する
1.<input type="text" name="content" data-behavior="chat_speaker">
で、これにはcontentが入っている気がする
2.paramsの確認(def show の@messagesの後で行った)
[1] pry(#<UsersController>)> params
=> <ActionController::Parameters {"from_id"=>"1", "to_id"=>"2", "room_id"=>"1-2", "content"=>"あいうえお", "controller"=>"users", "action"=>"show", "id"=>"2"}
contentは入っている。
3.dbの型は、
→Message.recent_in_room(room_id)は保存されたものを呼び出す時に使う
・DBが登録出来ない話
→デフォルト項目だけ保存されないのではなく、カラム自体が保存されていない
user_controllerのshowではなく、入力フォームに問題があるぞ。
_message_form.html.erb
・インスタンス変数保存されない→これが何故か。
・messagesがの件→これは保存されていないからしょうがない。
・room_idの型間違い→rails cで保存出来るから違う。これ全部保存されないから違うかな
・current_userあたりのミス→たぶんない。
・Userモデルで@messagesが使えない問題→もうちょい検証
・StrongParameter→全部弾かれているのもありえる。
・form_forの使い方がおかしい→多分大丈夫
・chat.channel/chat.coffee $(document).on 'keypress'あたり→よく分からん
・belongs_toあたり→
太文字のとこやる
HTML→ある
Model→各項目はある
Controller→無い
DB→無い
https://teratail.com/questions/121213
・ActionCableを実装してるということにより、
ActionCableを使用しない方法で実装!一度中断!
■binding.pryの表示方法
Q を押す
https://qiita.com/STHEXA/items/ff575ddcb84165de276