chan_tameのブログ

プログラミングで詰まった点を記録していきます!

テーブルやモデルの名前について

テーブルは、複数形で。 例えばusersというテーブルなら、モデル名はUser。 つまりモデル名は大文字で始めて、単数形にする。テーブル名がスネークケースの時は、モデル名はキャメルケースにする。 例えばuser_friendsというテーブル名なら、UserFriendsとい…

db:resetした後、ridgepole_schemaを元に戻す

railsでdb:resetした後、mainと同じようにridgepole_schema.rbを作るためには... bin/rails db:drop && bin/rails db:create && bin/rails ridgepole:apply こちらのコマンドを実行しましょう!!これにたどり着くのにめちゃくちゃ時間かかった... とりまdro…

params idについて

railsのparams idがなかなか理解できない... わかったような、わからないような。 chatGPTに聞いてみたら、そこそこわかりやすかったので共有します。 params idは、Ruby on RailsやSinatraなどのWebアプリケーションフレームワークでよく使われる概念の1つ…

backgroundをwidth100%にしても左右に隙間が出来てしまう

backgroundプロパティの指定を色々変えることで、直った。 以下、chatGPTに聞いてみた時の説明。 backgroundプロパティは、背景画像を指定するだけでなく、以下の3つのプロパティを持っています。 background-color background-image background-position そ…

ある要素内の文字が切れてしまう時 box-sizing: border-box;について

ある要素の中にpタグを追加して文章を入れると、右端が切れてしまう。 折り返し自体は出来てるので、word-wrapを指定すれば良いという話でもない。 開発者ツールを見てみると、paddingを設定してもどうやら、親要素の外側まで伸びきっていて、うまくいかない…

cssのオープニングアニメーションについて

cssのオープニングアニメーションを実装したいときはこちらを参考にすると良き!!ただ、jsで window.addEventListener で load を引数にするやり方もあり!! webnooboegaki.com

rigdepoleってなんぞや

ridgepoleはguardさえ起動しておけばridgepole_schema.rbファイルの変更を監視して自動的にDBにスキーマを反映してくれるようにしてうおるらしい。 下記が説明です。 Ridgepole は Rails にデフォルトで搭載されているマイグレーションシステムにかわるライ…

typescriptのインターフェースって???

インターフェースって何だろうって思って、chatgptに聞いてみた。 TypeScriptにおけるインターフェースとは、オブジェクトの形状を定義するための機能です。オブジェクトのプロパティ名やプロパティの型を指定することで、そのオブジェクトの形状を定義する…

railsの命名規則がわかってないと、大変!

こちらの記事おすすめ! note.com railsの命名規則わかってた方がマジで便利!!例えばUserモデルのテーブルは複数形になるので、usersなんですね〜 userテーブルないよ!!!って思ったら、usersテーブルなんだね。 恥ずかし(≧∀≦)

chatgptの出力が文字数で切れてしまって、コードが途中までしか送られない

文字数で切れる場合は、「続けて」と打てば良い、という記事を見つけたけど、これだとダメだった。 新しいコードになってしまう... そんな時は、「今の説明が文字数で切れてるから、続けて」と打つと、続きから送ってくれます。 文字数という単語に反応する…

TypeScriptのインターフェースについて

TypeScriptのインターフェースってなんや?? ってなったので、こちらの記事がおすすめです。 zenn.dev

railsの中間テーブルを用いた処理について

railsでタグ機能付けたいんだけど、どうやら中間テーブルを作る必要があるみたい。 今回はuserと、tagが多対多の関係(userも複数、tagも複数ある)なので、そういうときは中間テーブルを作るんだと。 このqiitaの記事、グループとuserでやってるけど、自分の…

ActiveRecord::NoDatabaseErrorについて

ActiveRecord::NoDatabaseError というのは、データベースがないんだと。なので、作ってあげる。 bin/rails db:drop && bin/rails db:create && bin/rails ridgepole:apply 例えばこんな感じで。

paqlで、スーパーユーザーでログイン出来ない...

psqlで、なぜかスーパーユーザーがpostgresではなく他のロールになってしまって、 NoDatabaseErrorになる...。 だからdbを作成したいんだけども、 ALTER ROLE postgres WITH SUPERUSER; としても ERROR: must be superuser to alter superuser roles or chan…

psqlってなんぞやってなった

psqlってのは、簡単にいうとpostgresSQLを扱うためのツールみたいなもん。 下記記事参考。 psqlとは、PostgreSQLの対話型操作をおこなうフロントエンドインターフェイスを指します フロントエンドインターフェイスって何やねん...とおもたけど、インターフェ…

postgresSQLのロール、権限についての入門

postgresSQLのスーパーユーザとかなんやねんって人は下記の記事が参考になるます。 とりまsuperuserでないと出来ないことがたくさんあるので、poermissionerrorとかは権限がないことが原因みたい。 でも、なぜかsuperuserになってるのに、createDBが出来ない…

scaffoldってなあに?

scaffoldってなんぞや。 scaffoldとは、Railsに備わっているコマンドの1つで、ルーティングやコントローラー(controller)、ビュー(view)、モデル(model)とテーブル(データベース)の記述やファイルなどを自動で作成してくれるコマンドです。 本来、scaffol…

タグ付け機能

タグ付け機能を実装したいんだけど、 dependent: :destroy ってなに???????ってなったので、こちらが分かりやすいっす。 紐づいてるものもまとめて削除できるとかそんな感じかな。 qiita.com

rails のhas_manyについて

rails のhas_manyについて、分かりやすい記事あったので共有。 has_manyってのは、参照される側、つまり親モデルに設定するものらしいです。 web-camp.io

rails rubocopでエラー Error: The process '〇〇' failed with exit code 16

exit code16でなくても、どんなコードでも同じなんだけど、rubocopのエラーが出ても大丈夫!ちゃんと読めば何でエラーが出てるのかしっかり教えてくれてます! まずは、プルリクエストの段階で落ちてるなら、プルリクエストのページに行って、そこからchecks…

git ブランチで作業中にmainで変更があり、それを取り込みたい時

以下を実行。 git addはステージングエリアに追加するみたいなコマンドかな。 そこからコミットして、まず自分のブランチでプッシュし、mainに行って、その変更をpullして取り込み、自分のブランチに戻ってきて差分を取り込み、それをまコミットしてpushとい…

アプリを強制終了させたい

コントロール + C で勿論終了できるのですが、ターミナルでそれを閉じてしまった時... ps -a として、出てきたものの中から実行中のものを探して、 kill 番号 としましょう。 どれかわからなくても、番号はそんなにたくさん出てこないから多分大丈夫かな?…

railsのprovideメソッドが便利

railsで、重複を防いだり、同じような記述をまとめたりしたいときはprovideメソッドとやらがある。 <% provide(:title, "The Title") %> <html> <head> <title><%= yield(:title) %> | Ruby on Rails Tutorial Sample App</title> </head> <body> Contents </body> </html> 例えば↑こんな感じで使えます。 スタンダ…

railsのエラー:Webpacker::Manifest::MissingEntryError

railsチュートリアルしてたら、 Webpacker::Manifest::MissingEntryError が出てきて進めん... どの記事も、 rails webpacker:install rails webpacker:compile したら直るよ〜って言ってるんだけど、それしても直らないんよね... そしたら下記の記事を発見…

gitで、他人の変更を取り込み最新版をローカル持ってきたい!

他人が変更したコードを、自分のローカル環境に持ってきて、それを編集していきたいというそこのあなた.... git fetch して、 git pull origin ブランチ名で変更内容を取得できます! 勿論、git branchでブランチ名は調べられます!

eslintで謎のエラーが出る!!

git hubにとあるものをcommitしたところ、こんなエラーが。なんじゃいこれ... eslintでエラーが出てるみたい。 なんかインデントの問題みたいだったので、Shift + Option + F で自動でインデントの調整できる!!! ちなみに、このコマンドは半角入力じゃな…

コンポーネントのimportが出来ない!

Reactでコンポーネントのimportしようと思ったら、補完機能も使えんし、手打ちでやってもダメだし。マジすか... 開発者ツール見てみたら、エラーメッセージが。 Warning: The tag <○○> is unrecognized in this browser. If you meant to render a React com…

useStateの更新する関数について

React hooks のuseState。これなんだかんだ一番使うます... 勿論 const [todos, setTodos] = useState()としたらtodosが状態変数で、setTodosがそれを更新する関数なんだけれども、中に何を追加するかで形が変わるみたいなので忘れないようメモっとくます。 …

map関数がうまく機能しない!

map関数書いてたら、なんかうまくいかん... と思ったら、 samples.map((samole) => {} )にしてた。 波括弧で書いた場合は”return”をmap関数内で記載をしないと機能しない! 一方、丸括弧を使用した場合は”return”を省略することができる!以上。

Reactでimportがうまくいかない!

階層の問題なんですけども、importしたいのにエラー出ちゃうことありますよね〜 自動補完機能が使えれば1発なんですけども、使えない時もあるので、そういう時のために自分用にまとめておく! 同じ階層にあるものは、そのままファイル名か「./ファイル名」・…