【事象】chat-spaceのグループ名がヘッダーに全て表示される
解決したいこと
chat-spaceのグループ名全て表示されているのを解決したい
仮説
messages_controller.rb
の理解が甘く記述にミスがある
試したこと
_side_ber.html.haml
のグループリストを参考に作成
解決策
繰り返しを表すeach do
は使わない
【事象】作成したテーブルを削除したい
【事象】作成したテーブルの削除したい
解決したいこと
不要なテーブルを削除したい
解決策
手順:モデルの削除→テーブルの削除
今回はtags
という名前のテーブルを削除したい
(Sequel Pro
とschema.rb
を確認して削除したいテーブル名がまだ残っていることを確認)
まずはモデルを削除する
tags
と関連しているモデル、models/tag.rb
が存在していることを確認。
rails destroy model 削除したいモデル名
を実行
今回はmodels>tag.rb
なのでrails destroy model tag
モデルが削除されていることを確認
削除用のマイグレーションファイルを作成
今回はわかりやすくdelete_table
というマイグレーションファイルにしました。
rails g migration delete_table
作成したdelete_table
というマイグレーションファイルにdrop_table :削除したいテーブル名
を記入。
今回はtagテーブルを削除するので以下の記載
drop_table :tags
bundle exec rake db:migrate
を実行
schema.rb
からもテーブルが消えていることを確認。
念のためSequel Proでも削除されていることを確認。
これでもうまく行かなかったら、まだそんなにテーブル作成していない状態であればrails db:migrate:reset
でマイグレーションをきれいにしてしまって削除した方が早い。
【事象】マイグレーションを実行するとエラーがでる
解決したいこと
マイグレーションを実行するとエラーをがでる
bundle exec rake db:migrate
でエラー
仮説
Gemfile.lock
内のBUNDLED WITH
のパージョンが違う
解決策
Gemfile.lock
内を確認
2.1.4であることを確認
2.1.4をアンインストール
記載してある2.5.1をインストール→インストール不可
もう一度2.1.4をインストール
js以前の初歩的ミスについて
javascriptの内容で困ったこと
問題
テキスト通りに記述しているのにコンソールエラーが出る
詳細
ふむふむ何やらjsファイルの5行目に問題が。(スペルミスかしら)
エラーメッセージは…
Uncaught TypeError: Cannot read property 'addEventListener' of null
ふむ。やはりどこかで記述のミスをしたのだろう。
テキストのコードを丸コピーして解決!
と余裕こいていたけれど、解決されず。
次の思考
これはきっとHTMLに何か追記せよとか、サラッとテキストに書いてあったのだな。
テキストをもう一度読んでみる。
結果
…特にHTMLファイルをいじることは書いておらず。
その次の思考
なんだかんだで先に進めば解決するかもしれないしちょっとエラーはシカト。
結果
解決されない。
その次の思考
おかしいなちゃんとテキスト通りにやっているのにと思いつつ、スクロールを上に下にとコロコロコロコロ(マウスではないけど)
ん?
んん?
この二文、同じようで何かが違う。
これまでの流れだと、【書き換えてください】と書いてあったので、毎度毎度書き換えていたのですが、【書き加える(追記する)】のだったという単純なミスでした。
結果
解決しない。まさかの。
ここまで期待持たせておいて解決しないとかもー。
その次の思考
あ、もしかして、あるあるで閉じタグ間違ってるんじゃないの?
じーーーーー。
明らかに間違えてます。
・・・・・
・・・・
・・
・
修正してみる。(functionで優しく包んであげる)
エラー消えました。
・・・・・
・・・・
・・
・
挙動も思い通りになりました。
あとは、整形(コマンドA+コマンドK+コマンドF)して終了
目が刺激されるから黒いエディタ苦手
教訓
テキストはしっかりと読む
きれいなコード・ソースとは
本日の学び
- リファクタリング概要
- エンジニアとコピーライターも似ているところがある
- 見やすいソース=見やすいコピー・文章
- コードの意図=コピーの意図
- 削る勇気
本日の失敗
頭がモヤモヤしていて集中出来なかった。
(対策として考える物は飛ばして進めた)
リファクタリング補足
システム開発時のディレクタからの視点
この記事の前提:
バックエンドに関するリファクタリングは全くもって素人の人物が書いています。
こちらはとても使い勝手の良い言葉で、エンジニアからのレスポンスで「リファクタリングしてます。」と返ってきたら要注意です。
エンジニアが気晴らしもしくは逃避している時に使います。
基本的にリファクタリングは都度もしくはタイミングを決めて行うものなので、思い立ったようにリファクタリングする場合は「あ、進捗悪いんだな。」という認識でいます。
ネクストステップ
- もやもや(仕事系)を取り払うために上司と話をする
- 自己肯定感を高めにというライフコーチの言葉を忘れない
*1:きれいなコード・ソースに関する詳細は色々なブログを閲覧した方がためになります。