d

b

o

v

n

k

a

t

i

o

l

g

g

a

a

ccc

Ruby on Railsを使ったSNSのクローンアプリを作成した過程で、自分にとって難解な部分があったので理解を深めるためにアウトプットします。

【Rails】モデルの関連付けの読み方

最終的なコード 最終的なコードは以下となる。 初めてこのコードを見たときに何がなんだかさっぱりわからなかったので、学んだことをひとつひとつを解説していく。 # app/models/user.rb class User < ApplicationRecord has_many :active_relationships, cl…

【Rails】Ajax通信についてのまとめ

Ajaxとは HTMLの読み込みなどをおこなう通信技術のこと。 非同期でJavaScriptによるHTTP通信を行い、HTMLの追加などを行う。 Asynchronous JavaScript and XMLの略。 主に使われる用途としては HTMLの追加 HTMLの更新 バックグラウンド処理 などがある。 Aja…

【Rails】Yarnの使い方

【Rails】Yarnの使い方

【Rails】Sorceryの導入方法

Sorceryとは? 認証機能を持たすためのgem。 Sorcery: Magical Authentication - GitHub インストール Gemfileに以下を記述する。 gem 'sorcery' bundleコマンドでgemのインストールをする。 $ bundle 導入方法 以下のジェネレートコマンドを実行するとマイ…

【RSpec】「let」「let!」「before」の違い

「let」「let!」「before」の違い

【Rails】ユーザ情報更新時に気をつけること

ビューのヘッダーなどにcurrent_userを使ってユーザ名などを表示する場合、validateionに引っかかると意図しない表示になるので注意が必要。 前提 ログイン中ユーザー名を表示するためにビューにのヘッダー部分に<%= current_user.name if current_user %>を…

書籍「Everyday Rails - RSpecによるRailsテスト入門」の環境構築

書籍「Everyday Rails - RSpecによるRailsテスト入門」に記載されているものと同じバージョンで進めるために以下手順で構築を行った。 以下のバージョンで設定 Rails 5.1 Ruby 2.4.9 Rubyバージョン2.4.9をインストール $ rbenv install 2.4.9 ローカル環境…

Railsアプリでgemファイルをgit管理しない方法

gemファイルはgitで管理しないほうが良い gemファイルをgit管理下においてしまうと、大量のファイルをgitで管理することになってしまう。 以前、気づかずにGitHubにプッシュしたところ「File changed」が5000以上になってしまった。 gemファイルはgit管理下…

Railsの関連付けの基礎知識

Railsの関連付けについて 関連付け(association)は2つのモデル同士の繋がりを意味する。 関連付けをすることでコードをシンプルに書くことができる。 例: 「userとtask」 は 「1対多」 の関係。 1人のuserはいくつかのtaskを持っている。 関連付けの種類 …

Railsの外部キー制約

外部キー制約とは 関連付ける2つのテーブルの間でデータの整合性を保つための制約(約束事)。 制約として以下の2つがある。 親テーブルの指定したデータ以外は、子テーブルの外部キーとして登録できない 親テーブルのデータを削除しようとしたときに、その…

RailsアプリをGitHubにプッシュできなかったときの体験談

Railsアプリ開発のために、ディレクトリをGitHubにプッシュしようとしたらエラーが発生し困ったことあった。 エラーがでるまでの流れ ①GitHubにsample_appレポジトリを作成 ②開発のためにsample_appディレクトリを作成 $ rails new sample_app ③作成したディ…

通常のrails newとは少し違った方法

ローカルにインストールされたrailのバージョンに依存しないため、常に最新バージョンでRailsプロジェクトを作成したい場合などにお勧め。 アプリケーション名でディレクトリを作成 $ mkdir sample_app 作成したディレクトリへ移動 $ cd sample_app Gemfile…

Ruby on railsで開発する基本的な流れ

Ruby on railsの開発の流れの備忘録 アプリケーションを作成 $ rails _バージョン_ new アプリ名 -d データベース名 アプリ名のディレクトリが作成される。 バージョンを指定しない場合は _バージョン_ を省略可能。 -d データベース名 を省略するとsqlite3…