プログラミング備忘録【Ruby on Rails】

初学者として日々学んだことや発見をいつでも引き出せるようブログにまとめてみた。初学者のため間違った説明があった場合、コメントいただけると嬉しいです。

HTMLとCSSの細かな内容

基本設定 フォントサイズ HTML imgにリンクを貼る CSS clearfix 要素の中央配置とvertical-alignの注意点 応用 バナー広告の貼り方 tableの無駄な隙間を無くす デザイン 上下中央配置 基本設定 フォントサイズ font-sizeのデフォルト値は、ブラウザのデフォ…

ハッシュの「これ忘れてた!」の復習

ハッシュについて 1.ハッシュを使った繰り返し処理 2.異なるハッシュを結合 3.想定外の引数も受け取れるようにする 4.最後の引数がハッシュであれば、呼び出し元の{}は省略できる 5.ハッシュと配列の相互変換 6.ハッシュの初期値を設定 シンボルについて 1.…

モジュールの基本について

モジュール使い方 1.継承は使えないが共通の処理を持たせたい場合 ・同じ機能を持たせたいが、is-aの関係が成り立たない場合など1.include(ミックスイン):モジュール内のメソッドをインスタンスメソッドとして呼び出せるようにする module Loggable private…

Ruby入門

1.Webアプリケーションについて 全体像 Webサーバーのみで提供できるサービス データベースサーバーを使うことでなにができるか? Ruby on Railsの処理の流れ 1.Webアプリケーションについて 全体像 ・結論としてRubyを使用することで、データベースサーバー…

クラスについて

1.クラスの基本 クラスとは ・例えとしてはよく「設計図」だとか、「たい焼きを作る鋳型(いがた)」などが上げられます。 たい焼きを想像していただきたいのですが、鋳型は同じものを何度でも複製できますよね。要するにクラスという「鋳型」の役割を果たすも…

formの一括登録

【Rails 5】モデルを一括登録する手順 - Qiita【Rails 6】form_with用いて一括登録する | RyuCoding

jQueryでつかった機能まとめ

ページ読み込みから指定時間後(ここでは3秒後)にページ遷移 $(window).load(function() { setTimeout(function(){ window.location.href = '/'; }, 3000); }); jQueryでsubmitを実行 $(function() { $('button').click(function() { $('form').submit(); …

N+1問題に対処する(includes、eager_load、preloadの違いと使い分け)

以下で完璧に説明されている 【Rails入門説明書】includesについて解説 | WEBCAMP NAVI

ATOMの設定に関して(編集中)

atomのハイライトエラー Atom (テキストエディタ) - Atomの<% %>以降のテーマに関する質問|teratail

Gemについて調べてみた!

gemfileでインストールしたgemの削除 1.bundle exec gem uninstall gem名 2.gemfileから該当gemを削除 3.bundle install *Gemfileを書き換えてbundle installしたらGemfile.lockも書き換わります。 追加したgemを全てアンインストール $ gem uninstall -I -…

Rails[api]+React+AWSの環境構築

ローカルでの設定 EC2での設定 ディレクトリ構造を作成 Reactアプリの配置 Railsアプリの配置 unicornの設定方法 nginxのインストール AWS無料枠でReact+Railsアプリデプロイ手順メモ - aws-deploy001 ローカルでの設定 Railsアプリに以下のようにgemを追加…

Javascriptについて調べてみた!

JavaScriptの実行方法 Node.jsの基本 Node.jsの環境構築 方法1 方法2「homebrewでインストール」 yarnのインストール Node.jsのコマンド npmコマンド JavaScriptの実行方法 JavaScriptを実行するには「ブラウザで実行する」「Node.jsで実行する」の2通り…

ReactとRailsを連携させる方法を調べてみた!

Reactを使用する上で理解しておくべきこと Reactアプリの開発環境構築 1.最も簡単な導入方法 2.React環境自動ビルドツールを使う(webpackerを使うようなイメージ) 3.webpackを使ってカスタマイズ可能なReact環境を構築 ReactとRailsAPIモードを連携させる Re…

Ruby備忘録

基礎 1.引数の()は引数があれば使用し、なければ省略せよ 2.変数のみ宣言することはなく、必ず代入が行われる 3.小数の含まれる計算には気をつけろ。 1/2=0 1.0/2=0.5 他にも誤差が生じる場合がある。 4.「++,--」は使えないので、「+=,-=」を使用すること。…

AWSについてまとめてみた!

AWSインフラストラクチャ VPC(Virtual Private Cloud) ネットワークサービス 1.CloudFront 2.Route 53 コンピューティングサービス 1.EC2 2.ECS(Elastic Container Service) 3.Lambda 運用支援サービス 1.CloudWatch 2.CloudWatch Logs 3.CloudWatch Events …

AWS EC2にNginx,Unicorn,Capistranoを使ってデプロイしてみた!

AWSアカウント作成時にやっておくべき初期設定 デプロイの流れ 1.キーペアによるSSH接続、EC2の初期設定について 2.公開鍵によるEC2インスタンスのSSH接続について EC2インスタンス内部の環境構築について AWSでサービスを構築する際に参考にしたサイト 覚え…

Vue.jsについて調べてみた!

導入 vueの使い方(index番号を得る) 導入 headerなどvue.jsを読み込ませたい箇所に以下を追記 <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> vueの使い方(index番号を得る) https://qiita.com/Sthudent_Camilo/items/9936cc95c9bcff00fc35

Nginx&Unicornについて全然わからん!

なぜrailsの本番環境ではUnicorn&Nginxを使うのか? なぜrailsの本番環境ではUnicorn,Nginxを使うのか? ~ Rack,Unicorn,Nginxの連携について ~【Ruby On Railsでwebサービス運営】 - Qiita起動 $ bundle exec unicorn_rails -c config/unicorn.rb $ bundle ex…

Linuxコマンドをまとめてみた!

linuxコマンド ターミナル操作ショートカットキー エイリアスの設定 linuxコマンド *オプションは複数指定したい場合は「-la」のように記述する $ bash ファイル名 シェルスクリプト(拡張子「.sh」のファイル)を実行するコマンド $ cat ファイルの中身を表…

細かな内容をテーマ別にをまとめてみた!

一つのレコードを登録する際に、そのレコードの子レコードも一緒に登録する方法(チェックボックスの場合) 文字 文字表示の際に改行を反映させる 文字列の省略 Viewでの日本語表記をi18nで共通化 ログイン アカウント作成と同時にログインさせる 日時まとめ d…

ログイン機能&アソシエーションについて調べてみた!

ログイン機能の実装 2つのテーブルを関連づける(1対多) 2つのテーブルを関連づける(多対多) ログイン機能の実装 *userとblogの関係を例に実装 1.ユーザーモデルの作成 rails g model user name:string email:string password_digest:string2.必要に応じ…

画像の扱う場合のあれこれ!編集中!!!!!!!!!!

「7.画像のアップロード」⑴画像を保存するためのimage:textカラムを追加⑴brew install imagemagick⑵gemfileにcarrierwaveとmini_magickを追加⑶アップローダーを作成 rails g uploader classname⑷imageカラムのあるモデルに以下を追記(imageカラムとUploader…

bootstrapに関して調べてみた!

Bootstrapの環境構築(rails6系の場合) Bootstrapの環境構築(rails5系の場合*5.1系以降) *rails6での導入の仕方は? Bootstrapの環境構築(rails6系の場合) Bootstrapの環境構築(rails5系の場合*5.1系以降) 1.yarnをインストール $ brew install yarn --ign…

GitHubに関して調べてみた!編集中!!

githubの環境構築 プルリクエストによる開発 開発手順1(ローカルでアプリを新規作成する場合) 開発手順2(クローンからアプリ開発) コンフリクトの解決法4つ 特定のファイルをGitHubで公開させない方法 GitHub上で環境変数を扱いたい場合 gitコマンド ローカ…

migrationに関して調べてみた!

カラムの追加 1.カラムを追加するためのマイグレーションファイルを作成 $ rails g migration Addカラム名Toテーブル名 カラム名:データ型 例 $ rails g migration AddStatusToMicroposts status:string2.以下のようにマイグレーションファイルが自動生成さ…

Rspecについて調べてみた!

1.事前準備 テストの書き方あれこれ モデルテストの例 テストは以下の階層で記述できる(深度に関しては「it」→「it + describe」→「it + content + describe 」といった段階上げ) FactoryBotの使い方 beforeの使い方 1.FactoryBotの書き方+ユーザー&タス…

flashに関して整理してみた!

1.flashとflash.nowの違いは? 参照先 flashとflash.nowの違いを検証してみた - Qiita 2.view側の記述(これが最も綺麗な記述の仕方な気がする) <div class='notification'> <% flash.each do |key, value| %> <%= content_tag :div, value, class: key %> <% end %> </div>

Action Mailerの使い方を調べてみた!

1.Action Mailerの設定 2.開発環境でのメールの送受信の確認 3.SendGridを利用し、本番環境でのメール送受信を実装 メールを複数の宛先に一括送信 1.Action Mailerの設定 *メイラー名とメイラーメソッド名は例なので適した名前に変更してください。 1.メイ…

Active Jobを調べてみた!

Active Jobとは? Sidekiq、Resque、Delayed Jobなどのgemの導入によって非同期処理が可能になりますが、gemによって文法が異なります。 Active Jobを利用するとこれらのgemの差分をほぼ意識しないでコーディングすることが可能になります! 1.事前準備 1.Ac…

バリデーションに関して調べてみた!

1.バリデーションの種類(追記中) 2.バリデーションのオプション 3.独自のバリデーションを作成する 1.バリデーションの種類(追記中) 「presence」 「uniqueness」 「length」 「numericality」 例 validates :production_year, numericality: { only_integer…