→Ruby on Rails RubyによるWebアプリケーションフレームワーク RoR
Agile Web Development with Rails
10分で作るRailsアプリ for Windows http://masuidrive.jp/rails/
Ruby on Rails公式サイトの採用サイト紹介ページ http://wiki.rubyonrails.org/rails/pages/RealWorldUsage
概要 Enumerizeでしかデフォルト値を設定できないと思っていましたが、 Enumでもデフォルトを設定できるようなので、共有記事です 内容 Enumのデフォルト値を設定する enum status: { draft: 0, published: 1 }, _default: draft こんな形で、デフォルト値を設定できます。 prefixやsuffixをつける時と同じようにできました *Rails7からは _defaultは非推奨になり、defaultで設定できるようなりました! ちなみに..... 今回は、DBに設定する値はintegerにしていますが、string型にすることでパット…
概要 RailsのActiveRecordでよく使う、firstメソッド。 よく User.firstのような形でコンソールでサンプルを取得する時に使うのではないでしょうか 今回、firstメソッドについて書いてみました 内容 firstメソッドは、IDが先頭のレコードを返しているのか? こちらのメソッドを使うことで、ActiveRecordのテーブルの最初のレコードを取得できます。 しかし、必ずIDが1のレコードを持ってきているわけではありません。 # 必ず idの順番で並んでいるわけではない… u = User.first #<User id: 1, name: taro, email: …
概要 モデルにカラムの追加を行うようなタスクは日常茶飯事ではないでしょうか? その度に、バリデーションの検証をする必要があります。 いままで、コンソールで確認するときに、該当モデルをnewして、他のattributesに値を入れて、 やっと新しく追加したattiributeに値を入れてバリデーションの検証をしていました 今回、FactoryBotで簡単に作成することで時間短縮にもなるので紹介します 内容 前提として、userモデルに新しくgenerationを追加するタスクとします 今までの方法 u = User.new() #<User id: nil, name: '', email: '…
こんにちは。サーバーサイドグループの山田です。 先日StudyplusのRailsアプリケーションのRubyを3.3にアップデートしました。 Ruby3.3ではYJITによるパフォーマンス改善が目玉の1つですが、弊社のアプリケーションでどのような変化があったかを報告します。 前提 本記事で記載している集計データは以下のようなアプリケーションおよび条件で取得しています。 Studyplusのマイクロサービス群の中で最も規模の大きなRailsアプリケーション Railsバージョンは7.1.3 Ruby3.2.2でYJIT有効化済みの状態からRuby3.3.0にアップデートした際の変化 APIリクエ…
「ここのページだけReact使いたいんだよな〜」とか「ページのここの部分にReact入れ込みたいんだよな〜」ということはありませんか? 今回はそんなあなたにReactを部分的に使用する方法を紹介します。 こちらの記事を応用していきます。↓ www.mof-mof.co.jp 下準備 Reactの導入方法はこちらの記事をご参照ください↓↓ www.mof-mof.co.jp 手順 package.json に記載されているビルドスクリプトのビルド対象に app/javascript/*.* が入っていることを確認する。 入っていない場合は以下を参考に書き換えてみてください。 "build:js"…
やりたいこと ECサイトで商品購入した際に購入商品の明細をメールで送りたい. 注意点: 今回はactive mailerの設定とどのようなメールが届くのかというのを開発環境で見ていこうと思います。実際のメールに届くわけではありません。 完成像 全体像 ①メーラーを作成する. ②メーラーの編集. ③viewを作成と編集する. ④好きなコントローラーでメーラーのアクションを呼び出す. ⑤letter_opener_webというgemをインストール. ⑥railsでletter_opener_webの設定をする. ①メーラーを作成する 下記のコマンドでメーラーを作成 bin/rails genera…
このviewsだけにこのJSを読み込みたい・・・! という時があると思います。 今回はそんな時のためにJSファイルを個別に読み込む方法を紹介します。 (esbuildを使用している前提で進めていきます) 手順 package.json に記載されているビルドスクリプトのビルド対象に app/javascript/*.* が入っていることを確認する。 入っていない場合は以下を参考に書き換えてみてください。 "build:js": "esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds" JSファイルを…
Rails7のアプリでJSのビルドツールはesbuildを使用します。 環境構築の方法はこちらを参照ください↓↓ www.mof-mof.co.jp ReactとTypeScriptをインストールする 以下のコマンドで必要なパッケージをインストール yarn add typescript react react-dom react-router-dom @types/react @types/react-dom @types/react-router-dom package.json のビルドスクリプトの末尾に --loader:.js=jsx を追記 例) "build:js": "esbu…
はじめに ◆この記事は何か Railsのソースコードリーディングをしているとよく見かける以下の1文 extend ActiveSupport::Concern 実際に Rails7.1.3.2 のリポジトリで grep すると235ファイルヒットすることからも ActiveSupport::Concern モジュールは Rails で非常によく使われているモジュールであることがわかる 今回はそんな ActiveSupport::Concern モジュールについて、使い方を確認した上でモジュールの中身を紐解いていく ◆対象は誰か Rails やその他 gem のソースコードリーディングに挑戦しよ…
前書き 本番環境でデータベースをリセットし再びマイグレーションファイルを適用させたいのですがはまったので記事に残します 環境 rails7 ruby 3.0.8 heroku postgresSQL 結論 heroku pg:reset -a <アプリ名> heroku run rails db:migrate heroku run rails db:seed この3つのコマンド実行
2024/05/04分のコミットです。 CHANGELOGへの追加はありませんでした。 Fix documentation activerecord/lib/active_record/reflection.rbのdocの修正です。 reflectionsメソッドのdocにあるexampleコードの結果が実際の結果と異なっていたのを修正しています。 Fix typo in configuring guide rails guideのConfiguring Rails Applicationsの修正です。 config.action_dispatch.show_exceptionsに指定出来るに…
未経験からフィヨルドブートキャンプ(以下FBC)で勉強して、1年1ヶ月が経ちました。 今月も振り返りを書いていきます!卒業が見えてきたので、振り返りを書くのはこれで最後(にしたい)です😅 4月の過ごし方 勉強の状況 勉強時間 自作サービスの進捗 できるようになったこと 苦労したこと イベント参加など 今の気持ち 5月の目標 4月の過ごし方 自作サービスを集中して進めつつ、気候が良かったので、息抜きに外で遊んでいることが多かったです。 4月中旬には、江ノ島に日帰りで行ってきました!新江ノ島水族館で、カピパラがお風呂に入っていたのが可愛かったです🥰 勉強の状況 4/4~5/3で修了したプラクティス…
はじめに 今回はHappiness Chain2ヶ月目の間にできたことできなかったことに対しての反省や振り返りについて記事を書いていこうと思います。 2024年4月の反省と振り返り -できたこと Progate のカリキュラムをほぼ完了できたこと。 英語の勉強を再開できたこと。 -できなかったこと 平日に勉強時間を確保できなかったこと。 できたことに関して ProgateのRuby on rails,Javascript,React,Node.jsのコースを完了したことが4月の大きな進捗になります。各言語の基本的な文法や記法を学ぶことができましたが、完璧に記憶できているわけではないので記事のア…
2024/05/03分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 railties/CHANGELOG.md Add options to bin/rails app:update. Merge pull request #51285 from tsvallender/ensure_image_processing_installed_trix actiontext/lib/generators/action_text/install/install_generator.rbの修正です。 Trixをインストールする際に、Gemfileにimage_processin…
railsの続きです。前回はhello_appをGitHubにプッシュ & Renderにデプロイしました(Railsチュートリアル第1章クリア!)。今回からチュートリアルの第2章に入っていきます。Toyアプリケーションを作ります。「Scaffold」というツールを使うようです。それではいきましょう!
2024/05/02分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 activestorage/CHANGELOG.md Remove deprecated config.active_storage.replace_on_assign_to_many. Remove deprecated config.active_storage.silence_invalid_content_types_warning. activesupport/CHANGELOG.md Deprecate DateAndTime::Compatibility.preserve_timezon…
4月振り返り Happiness chainに入会して2ヶ月が経過しました。 学習時間は先月とほぼ同じの60H(2ヶ月累計: 120H) Progateのカリキュラムを全て終了させることができました。 (Ruby on railsがとにかく長かった) その後、ブログ課題、マークダウン記法課題をクリア。 タイピングは何度か挑戦するも、4000円を超えることができず、引き続きチャレンジ中。 並行して、その次のChapterの「HTML&CSSの基本」を進めている途中です。 こちらは動画と書籍の両方を読み切ることがクリア条件ですが、動画が主で、書籍は補助という感じが効率の良い進め方かなという気がして…
いつのまにか四月が過ぎていった。暑さはないものの、日差しの強さは日毎に増すばかり。近所のツツジも開きつつある。私はどうかというと、特になにも変わらない。コードを書いている。 フィヨルドブートキャンプでのプラクティスもポートフォリオ作りに入ってきた。作ろうとしているアプリのデモ版をつくっている。最小限のところをやって、本当に実現可能かを見極めるのだ。今回はアニメーションを追加する。
前回の続きです。 EMR 5.36.1 から EMR 6.15.0 への更新 使用するアプリケーションのバージョンは以下のようになりました。OS は Amazon Linux 2 です。 アプリケーション等 EMR 5.36.1 EMR 6.15.0 Tez 0.9.2 0.10.2 Hue 4.10.0 4.11.0 Hive 2.3.9 3.1.3 Hadoop 2.10.1 3.3.6 Presto 0.267 0.2831 Trino N/A 426 Hive, Hadoop, Tez については前の記事で確認済みなので、ここからはそれ以外の要素について検討していきます。 一番問題にな…
学んだこと この本は結構中身が濃かったので、 ほんのチャプター順に学んだことを振り返りたいと思います タスク管理アプリを実際に手を動かして作って様々なことを学びました Rubyの基礎をおさらいした チャプター1と2を通して、Rubyの基礎をおさらいして、 環境構築をしました。 ここは特に新しいことはなく、 Railsの操作に不自由しないレベルのRubyができればいいとわかりました Gemfileとbundlerについて Gemfileに必要なGemを記述して、bundlerを実行すると 必要なファイルと、更に依存するファイルを自動で取ってきてくれます インストールした後Gemfile.lock…
はじめに 先日自分が書いた記事のコードの中で引数にアンダースコアを使いました。 jacezz.hatenablog.com ただ、自分の中でフワッとした理由で使っていたので、ちゃんと調べることにしました。 仕事でもちらほら見ることあるんですよね。 結果 Railsはアンダースコアでブロックパラメータを宣言することができ、使わないブロックパラメータはアンダースコアで指定したりするようです。 想定通りの使い方だったのでこれからは確信を持って使うことができそうです。 使わないことを明示的に示せるのは良いとも思いましたが、人によっては分かりにくい可能性もあるので積極的に使うかは微妙なところですね。 q…
※ 上記画像中央のロゴはさわらつきさんの著作物です ※ Rubyのロゴはまつもとゆきひろ氏の著作物です DIGGLEのCTO水上です。 DIGGLE社は前年に引き続き、RubyKaigi 2024のシルバースポンサーとして協賛いたします。微力ながらRubyコミュニティに貢献ができればと思っております! rubykaigi.org DIGGLEとRuby 当社サービスは、2016年のローンチ以来、RubyとRuby on Railsをバックエンドの言語、Webフレームワークとして採用しております。私たちが事業として成長を続けられているのは、RubyとRubyコミュニティのおかげです。 特に、サー…
2024/05/01分のコミットです。 CHANGELOGにのったコミットは以下の通りです。 railties/CHANGELOG.md Generated Gemfile will include require: "debug/prelude" for the debug gem Add require: "debug/prelude" after debug's Gemfile entry railties/lib/rails/generators/rails/app/templates/Gemfile.ttの修正です。 rails newで生成されるGemfileで、debug gem…
やりたいこと docker-compose.ymlの記載方法を整理する。 docker-compose.ymlの書き方 基本は、Dockerコマンドでできることをyml化している。 Dockerコマンドまとめ - 初心者SEのつぶやき services サービス名を記載する。 image image情報を記載する。 volumes ボリュームを作成する。 environment 環境変数の設定をする。 ports ポート番号を設定する。 restart コンテナの自動再起動を設定する。 build dockerfileのパスを記載する。 command コンテナが起動したときに実行するコマンド…
TypeScript + Bun な環境にて、SQLiteを操作したいことがありました。 Bunにはネイティブの SQLite driver があることから、そのまま bun:sqlite を使うこともできそうでした。 SQLite – API | Bun Docs ただ、日頃ORMでDBまわりを書いていることから、ORM的な何かを使いたくなりました。 BunのExamplesを見ていたところ、 Drizzle ORM が紹介されていました。 Use Drizzle ORM with Bun | Bun Examples Drizzle ORM - Overview また、Drizzleでは …