2023-01-01から1ヶ月間の記事一覧

M1 macでRubyインストール時のBUILD FAILEDエラーの解決法

RubyをM1 macにインストールする際にBUILD FAILED が表示されインストールできなかったので解決法を調べました。 結論 下記コマンドでインストールできる。 $ RUBY_CFLAGS="-w" rbenv install x.x.x 原因とエラー詳細は後述します。 環境 今回インストールし…

【Rails】フォロー機能の設計と実装

フォロー機能の設計から実装までの情報を整理しました。 実現したいこと 次の2つの機能を実装したい。 自分以外のユーザーをフォローできる フォローしているユーザー 、フォローされているユーザー を取得できる フォロー機能のテーブル設計 上記のフォロー…

【Ruby】ぼっち演算子とは?

ぼっち演算子の使い方をすっかり忘れていたのでまとめておきます。 結論 ぼっち演算子&. とはレシーバーがnil だった場合にNoMethodError ではなくnil を返すRubyのメソッド呼び出しの演算子です。 メソッド呼び出しで .の代わりに &.を使うことができます。…

rails g controllerでディレクトリを指定してファイルを作成する

rails g controller でディレクトリを指定してファイルを作成したかったのでやり方を調べました。 結論 指定するディレクトリを/ か:: で区切って指定する。 $ rails g controller ディレクトリ名/コントローラ名 アクション名 $ rails g controller ディレ…

【Rails】orderメソッドの使い方

order メソッドで並び替えする必要が出たので使い方を調べました。 orderメソッドとは? 取得したレコードを特定のキーで並び変えるメソッド。 Active Record クエリインターフェイス - Railsガイド orderメソッドの使い方 次の書き方で取得したレコードを並…

【Rails】関連付けたモデルの外部キーへのpresense: trueは必要ない

コードレビューでpresense: true の使い方を指摘されたので調べてみました。 結論 関連付けたモデルの外部キーへのpresense: true は必要ない。 アソシエーションによって紐付けられた外部キーの存在しない値やnil の場合へのpresenceバリデーションは自動的…

【Rails】request.refererとは?

コントローラーでリダイレクトさせる際にrequest.referer という見慣れない記述を見かけたので調べてみました。 結論 request.referer で遷移元のURLを取得できる。 requestとは? 現在実行中のリクエストサイクルの中でリクエスト情報が保存されているreque…

【Rails】redirect_toでのnoticeの2つの書き方

redirect_to を使った際のnotice オプションの書き方を忘れていたので調べました。 noticeオプションとは? redirect_to にnotice を使うで遷移後にフラッシュメッセージを表示できる。 フラッシュを表示するためのオプション(キー)はnotice 以外にもalert …

【Rails】外部キー制約とは?

作成したアプリのコードレビューで外部キー制約を追加するように指摘されたので調べて見ました。 結論 外部キーを保存するカラムに対して関連付けしているテーブルの主キーのみを保存するように制限し、データ不整合を防止すること。 具体的には次の制約が追…