2021-01-01から1年間の記事一覧
Action Mailerとは Action Mailerを使うと、アプリケーションのメイラークラスやビューでメールを送信することができます。メイラーの動作はコントローラときわめて似通っています。 引用: Action Mailer の基礎 - Railsガイド メールを送信する際によく使わ…
letter_opener_web letter_opener_webを導入すると、送信されたメールをwebサイトで確認することができます。 ログイン時のパスワードリセットなどなど、RailsのMailerと組み合わせて使われるケースが多いです。 実装方法 Gemfile Gemfileに設定を行っていき…
Active Storageを使用して、複数のファイルを1つのレコードに添付する実装を行っていてエラーに遭遇したのでメモしておきます。 最初に結論 複数のファイルを1つのレコードに添付する場合は、permitメソッドを下記のように使う必要がありました。 params.per…
動機 Railsで記事に埋め込み機能を実装する際に、ポリモーフィック関連付けが出てきたので、理解を深めるためにも備忘録としてメモを書いていきます。 以下のモデル構成で説明していきます。 # article_block.rb class ArticleBlock < ApplicationRecord bel…
ActiveModelとは ActiveModelとはActiveRecodeモデルクラスの便利な機能を普通のクラスで実現することをサポートしてくれるモジュール郡です。 例えば一括代入、バリデーション、コールバックが例です。 「データベースに直接紐付かないけれども、フォームの…
ActiveModelとは ActiveModelとはActiveRecodeモデルクラスの便利な機能を普通のクラスで実現することをサポートしてくれるモジュール郡です。 例えば一括代入、バリデーション、コールバックが例です。 「データベースに直接紐付かないけれども、フォームの…
find_eachメソッドは、分割してレコードを取得して1件ずつ処理します。 メモリの消費量を抑えることができるため、 大量のレコードをループ処理する際に使われます。 デフォルトでは、レコードを1000件ごとに取得して処理を実行します。 構文 find_eachメソ…
Railsを学習していてassign_attributesメソッドを使う必要があり、調べてみたので、忘れないよう議事録として残そうと思いました。 結論 assign_attributesは、複数の属性の値を更新するためのメソッドです。「DBに保存したくないけど値を更新したい」時に使…
Ransackとは ransackとは検索機能を実装するためのgemです。 検索に必要な機能を簡単に実装することができます。 検索機能を実装する利点 一覧画面などでは表示している情報が多いため、必要な情報を探すのに時間がかかってしまいます。 そこで検索機能を実…
kaminariとは? Railsでページネーションを利用するためによく利用されているgemのことです。 ページネーションとは? ページネーションとは、レコード件数が一定数を超えた場合に複数のページに分割して表示するようにすることです。 一覧画面ではほとんど…
今回はコメントの投稿と削除をAjax化する際に、 jQueryを使って実装しました。 しかし、jQuery自体あまり理解していなかったのでまとめていきます。 jQueryとは jQueryとは、Javascriptのプログラミングでよく行われる定型的な処理を書きやすくしてくれる、…
今回実装したい機能 Ajaxを用いてブックマークした際、ボタンの切り替えを非同期で行う。 調べたこと Ajaxとは何か? 同期通信、非同期通信の違い Ajaxの実装方法 Ajaxとは何か? Ajaxとは、Asynchronous JavaScript + XML の略で、非同期通信と呼ばれる通信…
ユーザーのお気に入りした掲示板を取得したいとき、中間テーブルは外部キーしか保存されていないので、 mapメソッドを使い、変換する作業が必要です。 mapメソッドとは mapメソッドは、配列の全要素にブロック中の処理で変換を行なった、 新しい配列を作る。…
ブックマーク機能を作る際、unique制約が必要だったので理解を深めるためにまとめます! なぜunique制約が必要なのか ブックマーク機能は、どのユーザーが、どの掲示板をブックマークしたという関係性を保存することです。 解除する際は保存したデータを消す…
カスタムヘルパーを使い、動的にタイトルを表示する。 今回実装したいこと 下の写真のようにタイトルを表示したい 今回つまづいたところ カスタムヘルパーの定義 三項演算子とは? empty? メソッドとは カスタムヘルパーの定義 module ApplicationHelper def…
初アウトプット 初めてのアウトプットになるので暖かい目で見ただければ幸いです。 コメント機能を実装したく、アソシエーションのどこから手をつけていいのか分からなかったので、アウトプットして理解を深めていこうと思います。 アソシエーションとは モ…