diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index 4722c3a..d1b5291 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -25,6 +25,12 @@ jobs:
           - ruby: 3.3
             gemfile: Gemfile
             rails_version: 7.2
+          - ruby: 3.3
+            gemfile: gemfiles/Gemfile-8-0
+            rails_version: 8.0
+          - ruby: 3.3
+            gemfile: gemfiles/Gemfile-7-2
+            rails_version: 7.2
           - ruby: 3.2
             gemfile: gemfiles/Gemfile-7-1
             rails_version: 7.1
diff --git a/Gemfile b/Gemfile
index fecebb7..6d50010 100644
--- a/Gemfile
+++ b/Gemfile
@@ -3,4 +3,4 @@
 source "https://rubygems.org"
 
 gemspec
-gem "rails", "~> 7.2.0"
+gem 'rails', '~> 8.0.0.beta1'
diff --git a/Gemfile.lock b/Gemfile.lock
index 0a9825a..17da6ff 100644
--- a/Gemfile.lock
+++ b/Gemfile.lock
@@ -7,67 +7,67 @@ PATH
 GEM
   remote: https://rubygems.org/
   specs:
-    actioncable (7.2.1)
-      actionpack (= 7.2.1)
-      activesupport (= 7.2.1)
+    actioncable (8.0.0.beta1)
+      actionpack (= 8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
       zeitwerk (~> 2.6)
-    actionmailbox (7.2.1)
-      actionpack (= 7.2.1)
-      activejob (= 7.2.1)
-      activerecord (= 7.2.1)
-      activestorage (= 7.2.1)
-      activesupport (= 7.2.1)
+    actionmailbox (8.0.0.beta1)
+      actionpack (= 8.0.0.beta1)
+      activejob (= 8.0.0.beta1)
+      activerecord (= 8.0.0.beta1)
+      activestorage (= 8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
       mail (>= 2.8.0)
-    actionmailer (7.2.1)
-      actionpack (= 7.2.1)
-      actionview (= 7.2.1)
-      activejob (= 7.2.1)
-      activesupport (= 7.2.1)
+    actionmailer (8.0.0.beta1)
+      actionpack (= 8.0.0.beta1)
+      actionview (= 8.0.0.beta1)
+      activejob (= 8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
       mail (>= 2.8.0)
       rails-dom-testing (~> 2.2)
-    actionpack (7.2.1)
-      actionview (= 7.2.1)
-      activesupport (= 7.2.1)
+    actionpack (8.0.0.beta1)
+      actionview (= 8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
       nokogiri (>= 1.8.5)
-      racc
-      rack (>= 2.2.4, < 3.2)
+      rack (>= 2.2.4)
       rack-session (>= 1.0.1)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.2)
       rails-html-sanitizer (~> 1.6)
       useragent (~> 0.16)
-    actiontext (7.2.1)
-      actionpack (= 7.2.1)
-      activerecord (= 7.2.1)
-      activestorage (= 7.2.1)
-      activesupport (= 7.2.1)
+    actiontext (8.0.0.beta1)
+      actionpack (= 8.0.0.beta1)
+      activerecord (= 8.0.0.beta1)
+      activestorage (= 8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
       globalid (>= 0.6.0)
       nokogiri (>= 1.8.5)
-    actionview (7.2.1)
-      activesupport (= 7.2.1)
+    actionview (8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
       builder (~> 3.1)
       erubi (~> 1.11)
       rails-dom-testing (~> 2.2)
       rails-html-sanitizer (~> 1.6)
-    activejob (7.2.1)
-      activesupport (= 7.2.1)
+    activejob (8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
       globalid (>= 0.3.6)
-    activemodel (7.2.1)
-      activesupport (= 7.2.1)
-    activerecord (7.2.1)
-      activemodel (= 7.2.1)
-      activesupport (= 7.2.1)
+    activemodel (8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
+    activerecord (8.0.0.beta1)
+      activemodel (= 8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
       timeout (>= 0.4.0)
-    activestorage (7.2.1)
-      actionpack (= 7.2.1)
-      activejob (= 7.2.1)
-      activerecord (= 7.2.1)
-      activesupport (= 7.2.1)
+    activestorage (8.0.0.beta1)
+      actionpack (= 8.0.0.beta1)
+      activejob (= 8.0.0.beta1)
+      activerecord (= 8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
       marcel (~> 1.0)
-    activesupport (7.2.1)
+    activesupport (8.0.0.beta1)
       base64
+      benchmark (>= 0.3)
       bigdecimal
       concurrent-ruby (~> 1.0, >= 1.3.1)
       connection_pool (>= 2.2.5)
@@ -77,7 +77,9 @@ GEM
       minitest (>= 5.1)
       securerandom (>= 0.3)
       tzinfo (~> 2.0, >= 2.0.5)
+      uri (>= 0.13.1)
     base64 (0.2.0)
+    benchmark (0.3.0)
     bigdecimal (3.1.8)
     builder (3.3.0)
     concurrent-ruby (1.3.4)
@@ -93,7 +95,7 @@ GEM
     i18n (1.14.6)
       concurrent-ruby (~> 1.0)
     io-console (0.7.2)
-    irb (1.14.0)
+    irb (1.14.1)
       rdoc (>= 4.0.0)
       reline (>= 0.4.2)
     logger (1.6.1)
@@ -134,20 +136,20 @@ GEM
     rackup (2.1.0)
       rack (>= 3)
       webrick (~> 1.8)
-    rails (7.2.1)
-      actioncable (= 7.2.1)
-      actionmailbox (= 7.2.1)
-      actionmailer (= 7.2.1)
-      actionpack (= 7.2.1)
-      actiontext (= 7.2.1)
-      actionview (= 7.2.1)
-      activejob (= 7.2.1)
-      activemodel (= 7.2.1)
-      activerecord (= 7.2.1)
-      activestorage (= 7.2.1)
-      activesupport (= 7.2.1)
+    rails (8.0.0.beta1)
+      actioncable (= 8.0.0.beta1)
+      actionmailbox (= 8.0.0.beta1)
+      actionmailer (= 8.0.0.beta1)
+      actionpack (= 8.0.0.beta1)
+      actiontext (= 8.0.0.beta1)
+      actionview (= 8.0.0.beta1)
+      activejob (= 8.0.0.beta1)
+      activemodel (= 8.0.0.beta1)
+      activerecord (= 8.0.0.beta1)
+      activestorage (= 8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
       bundler (>= 1.15.0)
-      railties (= 7.2.1)
+      railties (= 8.0.0.beta1)
     rails-dom-testing (2.2.0)
       activesupport (>= 5.0.0)
       minitest
@@ -155,9 +157,9 @@ GEM
     rails-html-sanitizer (1.6.0)
       loofah (~> 2.21)
       nokogiri (~> 1.14)
-    railties (7.2.1)
-      actionpack (= 7.2.1)
-      activesupport (= 7.2.1)
+    railties (8.0.0.beta1)
+      actionpack (= 8.0.0.beta1)
+      activesupport (= 8.0.0.beta1)
       irb (~> 1.13)
       rackup (>= 1.0.0)
       rake (>= 12.2)
@@ -174,8 +176,9 @@ GEM
     timeout (0.4.1)
     tzinfo (2.0.6)
       concurrent-ruby (~> 1.0)
+    uri (0.13.1)
     useragent (0.16.10)
-    webrick (1.8.1)
+    webrick (1.8.2)
     websocket-driver (0.7.6)
       websocket-extensions (>= 0.1.0)
     websocket-extensions (0.1.5)
@@ -188,7 +191,7 @@ DEPENDENCIES
   action-store!
   factory_bot
   pg
-  rails (~> 7.2.0)
+  rails (~> 8.0.0.beta1)
 
 BUNDLED WITH
    2.5.3
diff --git a/gemfiles/Gemfile-7-2 b/gemfiles/Gemfile-7-2
new file mode 100644
index 0000000..778829b
--- /dev/null
+++ b/gemfiles/Gemfile-7-2
@@ -0,0 +1,5 @@
+source 'https://rubygems.org'
+
+gemspec path: '..'
+
+gem 'rails', '~> 7.2.0'
diff --git a/gemfiles/Gemfile-8-0 b/gemfiles/Gemfile-8-0
new file mode 100644
index 0000000..31a7c16
--- /dev/null
+++ b/gemfiles/Gemfile-8-0
@@ -0,0 +1,5 @@
+source 'https://rubygems.org'
+
+gemspec path: '..'
+
+gem 'rails', '~> 8.0.0.beta1'