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

こちらのコマンドを実行しましょう!!

これにたどり着くのにめちゃくちゃ時間かかった...

 

とりまdropで削除して、またcreateで作って、ridgepole:applyしましょうって感じですね。

params idについて

railsのparams idがなかなか理解できない...

 

わかったような、わからないような。

 

chatGPTに聞いてみたら、そこそこわかりやすかったので共有します。

 

params idは、Ruby on RailsSinatraなどのWebアプリケーションフレームワークでよく使われる概念の1つです。

Webアプリケーションでは、HTTPリクエストに対してサーバー側が適切な応答を返す必要があります。その際、リクエストの情報をサーバー側で取得して処理することが必要になります。params idは、そのリクエスト情報の中でもURLのパスに含まれるパラメータを受け取るための仕組みです。

たとえば、Webアプリケーションで「/users/1」というURLにアクセスする場合、1に該当するユーザー情報を取得したい場合があります。この場合、params idを使うことで「/users/1」の1の部分を取得することができます。この1がparams idに該当します。

つまり、params idはURLの中に含まれるパラメータを受け取るための仕組みであり、Webアプリケーションの中でリクエスト情報を取り扱うときに欠かせない概念の1つと言えます。

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

backgroundプロパティの指定を色々変えることで、直った。

 

以下、chatGPTに聞いてみた時の説明。

 

backgroundプロパティは、背景画像を指定するだけでなく、以下の3つのプロパティを持っています。

  • background-color
  • background-image
  • background-position

そして、backgroundプロパティは、これらのプロパティを簡単に指定できるようにしたショートハンドプロパティでもあります。

例えば、以下のように書いた場合、背景画像が中央に表示され、スクロールに追従します。

css
background: url(bg.jpg) center fixed;

しかし、このようにbackgroundプロパティに指定した場合、背景画像は画面のサイズに合わせて伸縮しません。これは、指定した背景画像のサイズに基づいて表示されるためです。

そこで、背景画像を画面いっぱいに広げるためには、background-sizeプロパティを使用する必要があります。background-sizeプロパティには、以下のような値が指定できます。

  • contain:背景画像を縮小して全体を表示する。
  • cover:背景画像を拡大して全体を覆う。
  • 100% 100%:背景画像を画面いっぱいに広げる。

今回の場合、以下のようにbackground-sizeプロパティを指定することで、画面いっぱいに背景画像を広げることができます。

css
.spacer.orange,.section.orange { background: url(../img/bg/bgpic.jpg) 50% 0 no-repeat fixed; background-size: cover; width:100%; height:auto; margin:0; }

background-sizeプロパティにより、背景画像が画面いっぱいに広がったため、スペースがなくなりました。

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

ある要素の中にpタグを追加して文章を入れると、右端が切れてしまう。

 

折り返し自体は出来てるので、word-wrapを指定すれば良いという話でもない。

 

開発者ツールを見てみると、paddingを設定してもどうやら、親要素の外側まで伸びきっていて、うまくいかないみたい...

 

そんな時は、

box-sizing: border-box;

がおすすめ!!

zero-plus.io


box-sizingは要素のwidthとheightに、paddingとborderのサイズを含めるかどうかを指定するCSSプロパティです。

  • border-box:widthとheightにpaddingとborderのサイズを含める

 

ということらしいです。

 

まさに今言ってた、要素の外にpaddingがいってしまうってことを解決するのにもってこいの手段ってわけなんです!!!

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

cssのオープニングアニメーションを実装したいときはこちらを参考にすると良き!!

ただ、jsで

window.addEventListener で load

を引数にするやり方もあり!!

webnooboegaki.com

rigdepoleってなんぞや

ridgepoleはguardさえ起動しておけばridgepole_schema.rbファイルの変更を監視して自動的にDBにスキーマを反映してくれるようにしてうおるらしい。

 

下記が説明です。

 

Ridgepole は Rails にデフォルトで搭載されているマイグレーションシステムにかわるライブラリで、マイグレーションファイルを変更するたびに作らずに、単一の Schema ファイルで管理ができます

 

まあ単一のスキーマファイルでdbを管理できたり、自動でやってくれるのはありがたいですねえ。