0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Ruby on Rails 再入門 (3 の知識で 8 を学ぶ)

Last updated at Posted at 2025-01-06

私は過去、Ruby on Rails (以下、Rails) 2.3 で EC サイトを作ったりしてました。PostgreSQL をメイン DB にしつつ、基幹 DB の Oracle Database Server (8i ~ 10g)につなげるという構成です。
Rails 3 へのアップグレード後に職を離れてしまったため、それ以来というのがスキルセットです。

3 以降、肥大化する Rails のキャッチアップは一切していなかったのですが、そこへ 2024年11月、Ruby on Rails 8 のリリースの情報、そして依存関係が減っており、SQLite だけのシンプルな構成で動くとのこと。

これならば WSL2 のローカル環境で試せそうという思いから、久々に rails new してみようと思ったわけです。

試した環境:

> wsl.exe -v
WSL バージョン: 2.3.26.0
カーネル バージョン: 5.15.167.4-1
WSLg バージョン: 1.0.65
MSRDC バージョン: 1.2.5620
Direct3D バージョン: 1.611.1-81528511
DXCore バージョン: 10.0.26100.1-240331-1435.ge-release
Windows バージョン: 10.0.26100.2605
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=24.04
DISTRIB_CODENAME=noble
DISTRIB_DESCRIPTION="Ubuntu 24.04.1 LTS"

Rails のインストール

公式に簡潔にまとまっています。私が解説するまでもありませんが、以下の3ステップで終わります。

  1. 開発ツールマネジメントミドルウェア「mise (ミーズ)」をインストール
    • この前に mise や Ruby をインストールするためのライブラリを準備する必要があるかもしれない
  2. mise を使って Ruby をインストール
  3. gem install rails

Scaffold を試す

まず最初に断っておくと、公式の手順に沿うことで一通りのことは試せます。
https://guides.rubyonrails.org/getting_started.html

そこで Getting Started とは別に、Rails が注目されるようになったきっかけ※の「Scaffold (足場)」が使えるのかを試しました。
※要出典だ!

結論、動くんですね。

$ rails new blog
  ...
        gsub  config/environments/production.rb
      create  db/cable_schema.rb
       force  config/cable.yml
$ cd blog
$ rails generate scaffold post title:string body:text postdate:datetime is_published:boolean
  ...
      create      app/views/posts/show.json.jbuilder
      create      app/views/posts/_post.json.jbuilder
$ rails db:migrate
== 20250106123357 CreatePosts: migrating ======================================
-- create_table(:posts)
   -> 0.0020s
== 20250106123357 CreatePosts: migrated (0.0021s) =============================
$ find . -name *.sqlite3
./storage/development.sqlite3

バッチリ、 db:migrate まで走りました。
Rails 3 の時との違いは db:migraterake から rails になったことや、SQLite DB ファイルが db/ から storage/ に変わったことでしょうか。

rails server でサーバーを立ち上げて /posts へアクセスし、入力をした後に rails console で Model 操作もできました。
なんというか、懐かしい!

out.gif

おわりに

Getting Startedを眺めていると、先の rake コマンドから rails への移行など、さすが洗練されているんだなという感想です。

一方で、今回、ほぼ昔の知識のままでいけたということは、考え方や基本構成が 2.3 や 3 の頃に完成されていたという凄まじさも感じています(小並感)。

Getting Started はテストやデプロイまで揃っており、全部やろうとすると2~3時間はかかりそうです。昔は方々に情報を探していましたが、まずは「公式ドキュメントから」が一番早く学べそうです。

たのしかった。

[EoT]

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?