Railsアプリケーションでメール送信機能を実装する方法を説明します。 Herokuの本番環境では、SendGridを用いることが多いと思いますが、今回は開発/本番環境どちらもGmailを使って実装します。 なお、HerokuとGoogleのアカウント取得、およびHerokuでのア…
Railsでの開発中に遭遇した不具合について、原因と解決策を投稿します。 環境 背景 不具合の内容 不具合の原因 解決策 環境 ruby: 3.2.1 rails: 7.0.0 背景 flashを使って以下のようにメッセージを表示していました。 <% if flash[:notice] %> <div class="alert alert-primary"> <%= flash[:n</div>…
Railsでセッションベースのカート機能を実装する際に遭遇した不具合について、原因と解決策を投稿します。 環境 背景 不具合の内容 不具合の原因 解決策 三項演算子を使う if文を使う 環境 ruby: 3.2.1 rails: 7.0.0 背景 アプリケーション内にて、商品一覧…
管理者向けの商品削除機能を実施するために、名前空間付きコントローラー(今回のケースではadmin/products)でlink_toメソッドを使用しました。 この際、名前空間の存在を意識せずに実装するとRoutingErrorになったので、原因と解消方法を投稿します。 目次…
Railsで開発をしている際に、外部から画像データを参照するためにopen-uriを使用しました。 require 'open-uri' image_url = "https://example.com/image.jpg" image_data = URI.open(image_url).read しかし、RuboCopで警告が出たので、最終的にNet::HTTPに…
『現場で使える Ruby on Rails 5 速習実践ガイド』という書籍(以下、本書)に目を通しましたので、その感想を共有させていただきます。 結論 本書は、Ruby on Railsを学びたいと考えている初心者や、基礎を見直したい中級者にとって、非常に有益な内容が詰…
Railsの学習をしていて、newアクションで新規登録用のオブジェクトを作ったんだから、それをそのままcreateアクションで使ってくれよと思ったことがありました。 def create @user = User.new(user_params) if @user.save # 保存成功時の処理 else # 保存失…
開発中に遭遇した不具合の解消方法を調査したので、備忘録も兼ねて投稿します。 環境 ruby: 3.2.2 rails: 7.0.6 Rails 7での削除リンクの振る舞いの変更 link_toを使用して、掲示板の各項目を削除するリンクを作成する場合、turbo_method: :deleteを使用しな…
開発中に遭遇したエラー(というか不具合)の解消方法を調査したので、備忘録も兼ねて投稿します。 環境 ruby: 3.2.2 rails: 7.0.6 問題の状況 以下のようなコードで、link_toを使用して掲示板の一覧ページから各項目を削除するリンクを作成しました。 <%= l…
開発中にわからなかったことについて調べたので、備忘録も兼ねて投稿します。 環境 ruby: 3.2.2 rails: 7.0.6 概要 link_toメソッドの引数には以下の2つをとります。 リンクのテキスト パスやURL 以下は、ボードの一覧ページから詳細ページに遷移するリンク…
開発中に遭遇したエラーの解消方法を調査したので、備忘録も兼ねて投稿します。 環境 ruby: 3.2.2 rails: 7.0.6 概要 以下のコード例のように、config/initializers/配下に定義したカスタムフォーマットをviewファイルで利用する際に、.to_sメソッドで引数を…
REST APIの基礎的な内容についてまとめてみました! 1. RESTについて 1.1 まずWeb APIとは 1.2 RESTの意味と概念 1.3 ROA(リソース指向アーキテクチャ) 2. REST原則 2.1 クライアント/サーバー構造 2.2 ステートレス性 2.3 キャッシュ可能性 2.4 階層シス…
先月読んでおもしろかった本について、ネタバレにならない程度にざっくりご紹介します! 母という呪縛、娘という牢獄 毒親を持つ子どもの凄惨な人生が辛すぎる1冊 Amazonリンク 「娘(あかり)が母親を殺害し、その遺体をバラバラにして遺棄」。2018年3月、…
『達人に学ぶDB設計 徹底指南書』という書籍(以下、本書)を読み終えたので、その感想を共有したいと思います。 結論 本書は、データベース設計をしてみたいと考えている初心者の方にとって、非常に価値ある一冊であると感じました。 特に、美しい論理設計…
『スッキリわかるSQL入門 第3版 ドリル256問付き!』(以下、本書)という書籍でSQLの学習を行いました。 こちらのブログでは、その感想をまとめてみたいと思います! 結論 良かったところ 1. 実際に手を動かしながら学べる 2. 初心者向けの配慮 3. 練習問題の充…
1. optparseを使う場面 コマンドラインツールを使用する際、さまざまなオプションや引数を指定する必要があります。 たとえば、自分が作成したRubyのプログラムで、次のように特定のオプションを使用して情報を渡したい場合が考えられます。 $ ruby hello.rb…
本記事では『プロを目指す人のためのRuby入門 改訂2版 言語仕様からテスト駆動開発・デバッグ技法まで』という本について感想を共有したいと思います。 結論 この書籍はRubyに関するものです。 多くのメソッドや技術に関する情報を網羅しています。 著者は「…
Rubyでは、特定のメソッドを呼び出すときに、そのメソッドがどのモジュールやクラスで定義されているかを探索します。 この探索の順番は非常に重要で、Rubyにはそれに関する独自のルールがあります。 本記事は以下の書籍の内容を参考にしています。 参考:プ…
本記事ではRubyのクラスとモジュールで、なぜputsやpメソッドが使えるのかを簡単に紹介します。 基礎:クラスとモジュール 1. クラス Rubyにおいて、クラスはClassクラスのインスタンスです。 例として、MyClassという新しいクラスを作成し、MyClassが何のク…
プログラムを安全に運用するためには、テスティングフレームワークを使った自動テストが不可欠です。この記事では、Rubyで簡単にテストを実行できる「Minitest」の基本的な使い方についてまとめます。 参考:プロを目指す人のためのRuby入門[改訂2版] 言語仕…
Rubyでは、変数はオブジェクトへの「参照」を保持しています。 参照とは、変数がデータそのものを直接保持するのではなく、データが保存されているメモリ上の位置(オブジェクト)を指し示す仕組みのことです。 このため、一つのオブジェクトに対して複数の…
はじめに Dockerを使用すると、アプリケーションの開発環境を簡単かつ効率的にセットアップすることができます。 本記事では、Docker Composeを使ってRailsアプリケーションの開発環境を構築する手順を詳しく解説します。 はじめに この記事でわかること 前…
はじめに Gitを使って開発をしていると、時々「あ、ブランチ変えるの忘れてた」という状況に遭遇することがあります。 そういった時にどう対処すればいいのか、具体的な手順を共有します。 問題の設定 例えば、main ブランチで作業している最中に、実はこれ…
2023年7月末にプログラミングスクール「Happiness Chain」(以下HC)に入会してからおよそ1ヶ月が経過しましたので、 HCに入るまでの経緯や1ヶ月勉強した感想などをブログにまとめました。 私自身、入会する前にHCの生徒さんが執筆されたブログを参考にした…
CSSを使って背景に画像を設定する際、その画像のアスペクト比(縦横の比率)を変えずに表示したいことがよくあります。 今回は、ぞれを実現する2つの手法「aspect-ratio」と「padding-top」を紹介します。 1. aspect-ratio を使用した方法 aspect-ratio は、…
はじめに プログラミングを始めた方は、GitHubというツールについてよく耳にすると思います。 GitHubはソースコードを管理・共有できるツールで、開発には欠かせません。 そんなGitHubには「GitHub Pages」という機能・サービスがあり、GitHubのリポジトリに…
『プロになるためのWeb技術入門』――なぜ,あなたはWebシステムを開発できないのかを参考に、基本的な技術のいくつかをピックアップしてご紹介します。 ステートフル ステートレス リクエスト レスポンス クッキー プロトコル ポート番号 ステートフル ステー…
cd pwd ls mkdir rmdir cat less 一般的な操作キー tail touch rm mv cp ln ハードリンク シンボリックリンク find chmod chown ps kill cd Change Directory の略。 ディレクトリを移動するコマンド cd /home/user cd ..で一つ上のディレクトリに移動する。…
Vimに初めて触れてみた 未経験でプログラミングスクールに通い始めて3週間弱、初めてVimについて学習した感想です! 目標 Vimとは何かを知る 少し使ってみる 学習したコンテンツ 知識0から始めるVim講座 Vimって何?プログラミング言語?テキストエディタ?…
解決したい課題 勉強をする時、多くの人がノートやメモを取ると思います。 私もその一人で、勉強した内容をちゃんと覚えるために復習が本当に大切だと確信しているものの、 自分のメモを後から読み返すのが非常に苦手です。(気持ちの問題なんですが...) メ…