Gem

Active Storageでアップロードする画像をimage_processingでリサイズする

Active Storageを使った画像アップロード機能を実装中です。 MiniMagickを使った画像リサイズの情報はたくさん見つかったのですが、image_processing gemを使った情報はあまり多くない印象でした。 Rails6からimage_processing gemが必要になったようなので…

Active Storageで画像アップロードに必要なgemについて

RailsのActive Storageを使った画像アップロード機能の実装を行っています。 Active Storageを使う際にgem等の多くのツールが必要になりますが、使用用途が分からずどのツールを使えば良いか分かりにくかったのでまとめました。 Active Storageを使った画像…

Active Storageを使った画像アップロード機能のセットアップ

FBCのRailsプラクティスも残り僅かになってきました。 Active Storageを使って画像アップロード機能を実装するという新しい課題に着手しました。 Acrive Storageを使った画像アップロード機能のセットアップについて調べました。 今回は次のような条件での実…

letter opener webでRailsのメール送信を確認する

前回の記事でRailsにdeviseでメール認証を使ったパスワード再設定を実装しました。 RailsのAction Mailerを使って送信したメールの内容をletter_opener_webというgemで確認できるようなので使い方を調べました。 結論 下記手順でletter_opener_web gemを導入…

RailsのdeviseでCookieを削除してログアウトする

deviseの課題を提出できたので気になってたことをちょっとだけ深堀りしてます。 今回はdeviseでのログイン認証を行っているアプリに対してCookieを削除してログアウトする方法を調べました。 結論 ChromeのDevToolsのApplication タブ内のCookies を選択して…

deviseをdevise-i18nを使って多言語化する

前回の記事ではRailsにdeviseでメール認証を使ったパスワード再設定を実装しました。 今回はアプリ全体の表示をdevise-i18n gemで多言語化します。 tigrish/devise-i18n: Translations for the devise gem 実装対象のアプリはRailsにdeviseを使ってログイン…

Railsにdeviseでメール認証を使ったパスワード再設定を実装する

前回の記事ではRailsアプリにdeviseを使ってユーザーページを追加しました。 今回はdeviseが用意してくれているrecoverble モジュールを使ってメール認証を使ったパスワード再設定機能を追加します。 実装対象のアプリはdeviseを使ってログイン機能を実装す…

Railsにdeviseを使ってユーザーページを追加する

前回の記事ではRailsアプリにdeviseでログイン機能を実装しました。 今回はプラクティスの終了条件である次の3つのページを追加します。 ユーザー詳細: users#show ユーザー編集: users#edit ユーザー一覧: users#index 実装対象のアプリはdevise gemのイン…

Railsにdeviseを使ってログイン機能を実装する

前回の記事ではRailsアプリにdevise gemをインストールしてセットアップしました。 今回は実際に認証機能付きモデルを追加し、ログイン機能を実装します。 実装は下記の手順で行います。 認証機能付きモデルの作成 認証機能用ビューの作成 認証機能用コント…

Railsにdeviseをインストールしてセットアップする

FBCのRailsでdevise gemを使ったプラクティスに入りました。 devise gemのインストールとセットアップについて調べました。 追加設定は基本的には行わず、動作確認が行える最低限のdeviseの機能が使える状態を目標にしました。 devise gemを追加するアプリケ…

dotenv gemの使い方

GitHubにアップしたくないAPIキーやパスワード等を環境変数として設定するgem。 bkeepers/dotenv: A Ruby gem to load environment variables from `.env`. インストール Gemfile に追記後bundle install するだけ。 # Gemfile ... # 追記 gem 'dotenv-rails…

ERB Lintについて

FBCのRailsのプラクティスにERB Lintの導入が必須になったので概要を調べてみました。 結論 ERB LintとはrubocopではチェックできないERBファイルのスタイルをチェックしてくれるツール。 Shopify/erb-lint: Lint your ERB or HTML files インストール Gemfi…

Gitで未追跡のファイルやディレクトリを削除したい

FBCのRailsのdevise gemを使ったプラクティスを進めています。 RailsやGemが自動生成したファイルを削除したくなる状況が度々あったので、Gitで未追跡のファイルやディレクトリを削除する方法を調べてみました。 結論 git clean コマンドを使うとgit未追跡の…

kaminari gemについての雑なまとめ

FBCのプラクティスでkaminari gemを使ってRailsアプリにページネーションを実装しました。 kaminari gemは使ったことが無かったので今後の為にまとめてみました。 karminari とは? ページング処理を実装できるgem。 amatsuda/kaminari: ⚡ A Scope & Engine …

i18nのhuman系メソッドはモデルだけでなくインスタンスからも呼び出せる

i18nでモデル名やカラム名を参照するhuman系メソッドはモデルからしか呼び出せないと思っていましたが、インスタンスからも呼び出せるようです。 human系メソッドとは? i18nでActiveRecordのモデル名、カラム名を参照するメソッド。メソッド名が長いので勝…

pgでPostgreSQLに接続する

SinatraのメモアプリをDB化するにあたりpg gemを使いPostgreSQLに接続しSQLを実行する方法を調べました。 結論 次の手順でpg gemでPostgreSQLへ接続しSQLを実行できる。 PostgreSQLに接続するためのPGオブジェクトを作成。 作成したPGオブジェクトからSQLを…

pg gem のexec系メソッドの使い分け

Sinatraのメモアプリでpg gemを使う機会がありました。 DBにSQLを実行するexec ~ 系のメソッドの選択に迷ったので調べてみました。 結論 exec、exec_params、exec_prepared の3つのメソッドは次のように使い分ける。 exec: 単純にSQLを実行したい。 exec_par…

i18nで多言語化する

前回の記事ではi18nを使った多言語化用の設定を行いました。 i18_generaor gemを使った方が簡単に生成できそうでしたが理解を深める為に今回はあえて手動で翻訳情報を追加します。 tメソッドについて t メソッドはi18nに用意されているtranslate メソッドの…

Railsのフォームのsubmitをhelpers.submit.createで翻訳できる理由を調べた

FBCのRailsのi18nのプラクティスを進めています。 _form.html.erb 内のフォーム内のsubmitボタンの翻訳情報をhelpers.submit.createやhelpers.submit.update などで参照できるのか分からなかったのでソースコードを読んで調べてみました。 ちなみにVSCodeで…

RailsのコードをVSCodeで読むための設定

Railsの仕様について気になる部分があったのでRails gemのソースコードを読んでみようと思いました。 gemのソースコードをVSCodeで読むための設定について調べました。 結論 bundle open gem_name で開くデフォルトエディタをVSCodeに設定すると便利。 設定…