自分用のアウトプット。
ChatAppというWebアプリケーションを作っていきます。
README
ソフトウェアの仕様、規格、インストール方法などを文書化したアプリケーションの説明書のようなファイル。
マークダウン
文書を記述するための軽量マークアップ言語のひとつ。HTMLに変換される。
Dependabot
GitHub上で自動的に働く機能。
脆弱性などでバージョン更新を促す。
今回のリセットCSSには、Yhaoo!が開発した「YUI3」を使用。
application.html.erbの中に
<link rel=”stylesheet” type=”text/css” href=”http://yui.yahooapis.com/3.18.1/build/cssreset/cssreset-min.css”>と記述。
box-sizing: border-box;
paddingやmarginを要素のサイズに含むことができるプロパティ。
application.cssに記述。
* {
box-sizing: border-box;
} *{ }は、すべての要素に適用させる、という意味。
ファイルを選択するボタンを作成する場合は、inputの中のtypeをfileにする。
label要素
フォームの中で、フォームの項目名とフォームの入力要素を関連付けるための要素。
labelの要素がクリックされた時に、子要素もクリックされたことにしてくれる。
GitHubを使った一連の開発の流れ
commit
push
merge
ローカルマスターへpull
新しいブランチを作る の繰り返し
authenticate_user!
deviseに実装されているメソッド。
ログイン済みならアクセス許可、未ログインならログイン画面へ遷移。
ユーザーの名前をDBに保存できるようにするためには、application_controller.rbを編集。
before_action :configure_permitted_parameters, if: :devise_controller?
private
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys:[:name])
end などのように記述。
redirect_toは新たなリクエストを送信された時と同じ動き。(コントローラー経由でビュー表示)
renderは新たにリクエストされることなくそのままビューを表示。
reference型
Railsで外部キーのカラムを追加する際に用いる型。
foreign_key: true という制約を設けることで、他テーブルの情報を参照できる。
多対多の関係をつくるために中間テーブルを使う。
今回はusersテーブル、roomsテーブル、room_usersテーブル(これが中間テーブル)。
usersテーブル
has_many :room_users
has_many :rooms, through: :room_users
roomsテーブル
has_many :room_users
has_many :users, through: :room_users
room_usersテーブル
belongs_to :user
belongs_to :room
Room.create(name: “ルーム1”, user_ids: [1, 2])
roomsテーブルにid1のチャットルームが出来ると同時に、
room_usersテーブルにもレコードが作成される。
Select要素
プルダウンのようなセレクトボックスを作成するための要素。
option要素
select要素の中でoption要素を記述することで、プルダウンの選択肢になる。
記述例
<select>
<option>APPLE</option>
<option>BANANA</option>
<option>ORANGE</option>
</select>
ユーザー情報の編集機能とかログイン・ログアウト機能とかバリデーションとか色々やったんだけど、全部書いてくとキリが無いのでこんなもんで。
今日もがんばるぞい。