Ruby on Rails 7.0.0がついにリリースされました。
Rails 7.0 FINAL: The fulfillment of a vision to present a truly full-stack approach to web development that tackles both the front- and back-end challenges with equal vigor. https://t.co/WxJ0nKYfE7
— Ruby on Rails (@rails) December 15, 2021
同時にRuby on Rails公式サイトのデザインもリニューアルされました。
英語版Changelogをまとめて見るにはGItHubのリリースタグ↓が便利です。v7.0.0
タグの日付は日本時間の2021/12/16 9:26でした。
- リリースタグ: Release 7.0.0 · rails/rails
コミットリストは1977ファイルが更新されています。
🔗 更新の概要
Rails 7.0.0の更新の概要は、以下の7.0.0.rc1リリース記事で紹介した内容と基本的に同じです。
また、以下の6.0.4.4/6.1.4.4と同じセキュリティ修正もRails 7.0.0に含まれています。
参考: Rails 7で生成したアプリのGemfile
以下はRails 7.0.0でrails new .
を実行して生成されたGemfileです。sprocket-rails、importmap-rails、turbo-rails、stimulus-railsがデフォルトでインストールされています。
source "https://rubygems.org"
git_source(:github) { |repo| "https://github.com/#{repo}.git" }
ruby "3.1.0"
# Bundle edge Rails instead: gem "rails", github: "rails/rails", branch: "main"
gem "rails", "~> 7.0.0"
# The original asset pipeline for Rails [https://github.com/rails/sprockets-rails]
gem "sprockets-rails"
# Use sqlite3 as the database for Active Record
gem "sqlite3", "~> 1.4"
# Use the Puma web server [https://github.com/puma/puma]
gem "puma", "~> 5.0"
# Use JavaScript with ESM import maps [https://github.com/rails/importmap-rails]
gem "importmap-rails"
# Hotwire's SPA-like page accelerator [https://turbo.hotwired.dev]
gem "turbo-rails"
# Hotwire's modest JavaScript framework [https://stimulus.hotwired.dev]
gem "stimulus-rails"
# Build JSON APIs with ease [https://github.com/rails/jbuilder]
gem "jbuilder"
# Use Redis adapter to run Action Cable in production
# gem "redis", "~> 4.0"
# Use Kredis to get higher-level data types in Redis [https://github.com/rails/kredis]
# gem "kredis"
# Use Active Model has_secure_password [https://guides.rubyonrails.org/active_model_basics.html#securepassword]
# gem "bcrypt", "~> 3.1.7"
# Windows does not include zoneinfo files, so bundle the tzinfo-data gem
gem "tzinfo-data", platforms: %i[ mingw mswin x64_mingw jruby ]
# Reduces boot times through caching; required in config/boot.rb
gem "bootsnap", require: false
# Use Sass to process CSS
# gem "sassc-rails"
# Use Active Storage variants [https://guides.rubyonrails.org/active_storage_overview.html#transforming-images]
# gem "image_processing", "~> 1.2"
group :development, :test do
# See https://guides.rubyonrails.org/debugging_rails_applications.html#debugging-with-the-debug-gem
gem "debug", platforms: %i[ mri mingw x64_mingw ]
end
group :development do
# Use console on exceptions pages [https://github.com/rails/web-console]
gem "web-console"
# Add speed badges [https://github.com/MiniProfiler/rack-mini-profiler]
# gem "rack-mini-profiler"
# Speed up commands on slow machines / big apps [https://github.com/rails/spring]
# gem "spring"
end
group :test do
# Use system testing [https://guides.rubyonrails.org/testing.html#system-testing]
gem "capybara"
gem "selenium-webdriver"
gem "webdrivers"
end
rails s
で起動すると、Welcome画面も公式サイトと同様にリニューアルされていました。
なお、rails new . -c tailwind
でアプリを生成するとtailwindcss-rails gemがインストールされます(-c tailwind
の場合はjsbundling-railsやcssbundling-railsはインストールされず、node_modulesディレクトリも作成されません)。さらに、scaffold(rails g scaffold post regex:string comment:text
)で生成したビューに最初からtailwindのスタイルが追加されます。
<div class="my-5">
<label for="post_regex">Regex</label>
<input class="block shadow rounded-md border border-gray-200 outline-none px-3 py-2 mt-2 w-full" type="text" name="post[regex]" id="post_regex" />
</div>
<div class="my-5">
<label for="post_comment">Comment</label>
<textarea rows="4" class="block shadow rounded-md border border-gray-200 outline-none px-3 py-2 mt-2 w-full" name="post[comment]" id="post_comment">
</textarea>
</div>
<div class="inline">
<input type="submit" name="commit" value="Create Post" class="rounded-lg py-3 px-5 bg-blue-600 text-white inline-block font-medium cursor-pointer" data-disable-with="Create Post" />
</div>
参考 Rails 7とRuby 3.1.0-preview1+YJITを試すdocker-compose
YJITを有効にしたRuby 3.1.0-preview1上でRails 7.0.0のrails newを手軽に試すためのdocker-compose環境を以下のリポジトリに取り急ぎ作りました。
TechRachoではRubyやRailsの最新情報などの記事を平日に公開しています。TechRacho記事をいち早くお読みになりたい方はTwitterにて@techrachoのフォローをお願いします。また、タグやカテゴリごとにRSSフィードを購読することもできます(例:週刊Railsウォッチタグ)