たなか@備忘録

たなか@備忘録

記事一覧

複合インデックス

add_indexメソッドが生成するインデックス名が作られる手順 "index_"、テーブル名、”_on_"を連結する 単独のインデックスがあればカラム名を追加する 複合インデックス…

EC2インスタンス作成・ログイン

はじめに業務などでEC2インスタンスを作成する機会があったので作成方法を調べてみた。 EC2インスタンス作成を頻繁に行うことはないので個人の学習用としても本記事にまと…

1

シンボル

書式:シンボル名 任意の文字列と一対一に対応するオブジェクト 文字列の代用もできるが文字列と同じ振る舞いをするとは限らない 同じ内容のシンボルは必ず同一オブジェ…

ヒアドキュメントとは

ヒアドキュメントとは複数行にわたる長い文字列を作成する場合などに利用する行指向文字列リテラルのこと。 いつ使うのか複数行に渡る長い文字列をきれいに書きたい場合 …

単一テーブル継承とは

単一テーブル継承 (single table inheritance:STI)とはオブジェクト指向プログラミングの継承概念をリレーショナルデータベースで擬似的に実現する方法。Railsではtypeカラ…

たなか@備忘録
11か月前
1

Rails ビューの整理整頓 プレゼンターの利用

ApplicationHelperモジュールに定義されたメソッドはグローバルに定義される「app/helpers」ディレクトリ配下に定義されたヘルパーメソッドはアプリケーション全てのERBテ…

たなか@備忘録
11か月前

Rails 委譲(delegation) delegateについて

メソッドチェーンをたくさん書くことなく実装できる。 書き方の例は以下の通り。 delegate :method_name, to: :associtation 具体例は以下の通り。 Userモデルにログイン…

たなか@備忘録
11か月前

複合インデックス

add_indexメソッドが生成するインデックス名が作られる手順

"index_"、テーブル名、”_on_"を連結する

単独のインデックスがあればカラム名を追加する

複合インデックスであれば、すべてのカラム名を"_and_"で連結して追加する

インデックス名の長さには制限(PostgreSQLでは63バイト)があるので注意が必要になる。

複合インデックスの組み合わせについて

X、Y、Z

もっとみる

EC2インスタンス作成・ログイン


はじめに業務などでEC2インスタンスを作成する機会があったので作成方法を調べてみた。
EC2インスタンス作成を頻繁に行うことはないので個人の学習用としても本記事にまとめてみたいと思います。

EC2インスタンス作成手順前提

EC2管理者権限もつIAMユーザーでログインする

リージョンは「東京」とする

無料枠での作成とする

ログイン端末はMacとする

検索窓に「EC2」と入力し検索する

もっとみる

シンボル

書式:シンボル名

任意の文字列と一対一に対応するオブジェクト

文字列の代用もできるが文字列と同じ振る舞いをするとは限らない

同じ内容のシンボルは必ず同一オブジェクト



:symbolp "abc" == "abc" #=> truep "abc".equal?("abc") #=> falsep :abc == :abc #=> truep :abc.equal?(:abc) #=>

もっとみる

ヒアドキュメントとは


ヒアドキュメントとは複数行にわたる長い文字列を作成する場合などに利用する行指向文字列リテラルのこと。

いつ使うのか複数行に渡る長い文字列をきれいに書きたい場合

シェルスクリプトに埋め込みたいとき

使い方<<識別子1行目2行目3行目識別子

識別子は慣習として全て大文字を使う

デフォルトでは式展開は有効

式展開を無効にするには識別子をシングルクオートで囲む

識別子をダブルクオートで囲む

もっとみる

単一テーブル継承とは

単一テーブル継承
(single table inheritance:STI)とはオブジェクト指向プログラミングの継承概念をリレーショナルデータベースで擬似的に実現する方法。Railsではtypeカラム(またはモデルクラスのinheritance_column属性に指定されたカラム)にクラス名を記載することで単一継承テーブルを実現している。

class Address < Application

もっとみる

Rails ビューの整理整頓 プレゼンターの利用

ApplicationHelperモジュールに定義されたメソッドはグローバルに定義される「app/helpers」ディレクトリ配下に定義されたヘルパーメソッドはアプリケーション全てのERBテンプレートから呼び出し可能なメソッドとして定義される。名前が衝突しないように管理する必要が生じる。ERBテンプレートを整理整頓が目的であれば別の方法も考えられる。
対処方法を以下に挙げます。

モデルクラスのイ

もっとみる

Rails 委譲(delegation) delegateについて

メソッドチェーンをたくさん書くことなく実装できる。
書き方の例は以下の通り。

delegate :method_name, to: :associtation

具体例は以下の通り。
Userモデルにログイン情報があり、関連する名前などはProfileモデルにあるとした場合。

delegate を使った場合

class User < ApplicationRecord has_one :p

もっとみる