TECH CAMP 22日目 ChatWorkとかSlackみたいなやつを目指して

自分用のアウトプット。

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>

ユーザー情報の編集機能とかログイン・ログアウト機能とかバリデーションとか色々やったんだけど、全部書いてくとキリが無いのでこんなもんで。
今日もがんばるぞい。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする