ロイの奮闘記録

PdMをやってるロイの日記です。人のつながりを増やしたいと思いながら、社会と奮闘しています

#75 メッセージ機能の実装1 binding.pryの表示も

#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

 

そしたら表示された。

f:id:roi_techs:20191103124405p:plain

 

■パラメータの切り分け

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