もふもふ技術部

IT技術系mofmofメディア

【Rails】Gemを使わないFinderオブジェクトを使った検索

Railsで検索を実装するとき、どのように実装しますか? ransack などのGemを使っていますか? 今回は、Gemを使わずにFinderオブジェクトを使って検索を実装してみます。 Finderオブジェクトを使うと、モデルとコントローラーから検索のロジックを切り離すこ…

【Rails/GitHub】お問い合わせフォームからの問い合わせ内容を自動でissue化!

HPでもWebサービスでもお問い合わせフォームは必須な機能だと思います。 今回はお問い合わせフォームからのお問い合わせ内容をGitHubのissueにする方法を紹介します。 事前準備 Gemをインストールする Gemfile gem 'octokit' GitHubでアクセストークンを作成…

【Rails】ActiveHashでマスターデータを管理する

DBに保存するほどでもないマスターデータをどのように管理するか悩んだことはありませんか? 今回は、そんな時に便利かも!?な ActiveHash を使ってモデルライクにマスターデータを管理します。 github.com 事前準備 Gemをインストールする Gemfile gem 'ac…

【Rails I18n】localeのYAMLファイルで式展開する

Railsで多言語化する時、yamlファイルに日本語訳や英語訳を追加していくと思います。 そのyamlファイルに追加した訳文で式展開ができることをご存知ですか? 事前準備 config/application.rb に以下の設定を追加します。 config.i18n.default_locale = :ja c…

【Rails I18n】URLで言語切り替えする

アクセスしたURLによってlocaleを切り替える機能を意外と実装したことがなかったので、今回は3つの方法でlocaleを切り替えてみたいと思います。 事前準備 複数の言語を使用できるように設定する config/application.rb に以下の設定を追加します。 config.i1…

ECSコンテナの立ち上げをやってみた

はじめに 今回は、Railsの基本スタックのインフラ構築をAWSで行うことに挑戦しました。アプリをAWS上でデプロイするにあたり、ECS(Elastic Container Service)を初めて利用してみました。Railsの基本スタックをAWSで簡単に構築すること、特にDockerとECSを…

IBM Qiskitでベル状態の量子回路を作る

どうも、量子の人を目指して頑張ってます原田です。 普段は量子の理論の方を学習しているので、コードを書くのは初だったのですが、予想以上に難しかった。というか、コードを書く=アプリケーションを開発するという認識しかなかったので、ビットを直接いじ…

【Rails】よく使う・知っていると便利なmigrateコマンド

今回はよく使う・知っていると便利なmigrateコマンドを紹介します! マイグレートする rails db:migrate 特定の環境のみマイグレートする 開発環境の場合(デフォルトなので明示的に指定することはあまりないと思います) rails db:migrate RAILS_ENV=develo…

はてなブログのSEO効果を高めるために各記事に著者プロフィールとJSON-LDへの情報追加をやってみた

こんにちは。出口です。 今回は、はてなブログのSEO効果を高めるための施策を行ったので、その辺りの話です。 大きく分けて2つの対応を行いました。 記事下への著者情報の追加 JSON-LDへの著者情報等の追加 どちらもJavaScriptでの対応になります。 記事下へ…

【Rails】I18nを使った日本語化

Railsで日本語化をするとき、「あれどうやるんだっけ」と意外と忘れてしまうこともあると思います。 今回はそんな日本語化の話をしたいと思います! 事前準備 config/application.rb に以下の設定を追加します。 config.i18n.default_locale = :ja config.i1…

【日本語対応あり】Railsでenumを使う

ユーザーの権限を管理する際などに、enumを使うことがあると思います。 今回はenumの使い方をまとめてみます。 下準備 1. Gemをインストールする 日本語対応のためのGemです。 gem "enum_help" 2. モデルを作る $ rails g model user 202401001000000_users.…

Rails7 に Bootstrap を導入する

以前Rails7でTailwind CSSの導入をしましたが、今回はBootstrapを導入してみます。 esbuildを使用します。 プロジェクト作成時に導入する場合 1. rails new mofmof -j esbuild --css bootstrap でプロジェクトを作成する 2. 以下を package.json に追加する …

【Rails】Stripeで決済したサブスクを解約する

Stripe決済第四弾です。 今回はいままで実装したサブスクの解約を実装します。 サブスクの実装は以下の記事を参考にしてみてください。 www.mof-mof.co.jp 実装 ルーティングを追加します。 config/routes.rb resources :cancel, only: [:create] viewsに追…

【Rails】Stripe決済で複数のユーザープランを実装する

Stripe決済第三弾です。 今回は前々回実装したサブスクと、前回実装した買い切りを組み合わせて複数のプランをユーザーが選択できるようにしてみます。 下準備は以下の記事を参考にしてみてください。 www.mof-mof.co.jp 決済を実装する 今回用意するプラン …

【Rails】Stripe決済で買い切りプレミアムプランを実装する

Stripe決済第二弾です。 今回は前回サブスクで実装したプレミアムプランを買い切りで実装してみます。 下準備は前回の記事を参考にしてみてください。 www.mof-mof.co.jp 決済を実装する 料金を作成する こちら で料金を作成します。 前回作成したプレミアム…