質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

解決済

Rails5で動いたコードがRails6で動かなくなった

Shmupeiii
Shmupeiii

総合スコア84

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

1回答

-3評価

1クリップ

518閲覧

投稿2022/02/28 13:43

編集2022/05/27 09:25

Rails5.2で動かしていたRails環境がローカルだとエラーになってしまったためRails6に移行しました。
元のheroku
https://rails-docker-portfolio.herokuapp.com/
ログインid sample123
ログインパスワード sample12345
元のgithub
https://github.com/takoyan33/rails-docker

しかし、Rails6で動かすとこのようなエラーが出るようになりました。(その他の部分は動いています。)
掲示板作成部分
イメージ説明

そのため、解決法が分かる方がいれば教えて頂きたいです。

Ruby

docker log | Started POST "/boards" for 172.20.0.1 at 2022-02-28 13:33:08 +0000 rails-docker-2-web-1 | Cannot render console from 172.20.0.1! Allowed networks: 127.0.0.0/127.255.255.255, ::1 rails-docker-2-web-1 | Processing by BoardsController#create as HTML rails-docker-2-web-1 | Parameters: rails-docker-2-web-1 | { rails-docker-2-web-1 | "authenticity_token" => "[FILTERED]", rails-docker-2-web-1 | "board" => { rails-docker-2-web-1 | "title" => "サンプル", rails-docker-2-web-1 | "name" => "サンプル", rails-docker-2-web-1 | "body" => "サンプル", rails-docker-2-web-1 | "tag_ids" => [ rails-docker-2-web-1 | [0] "" rails-docker-2-web-1 | ] rails-docker-2-web-1 | }, rails-docker-2-web-1 | "commit" => "保存" rails-docker-2-web-1 | } rails-docker-2-web-1 | User Load (1.3ms) rails-docker-2-web-1 | SELECT rails-docker-2-web-1 | `users`. * rails-docker-2-web-1 | FROM rails-docker-2-web-1 | `users` rails-docker-2-web-1 | WHERE rails-docker-2-web-1 | `users`.`id` = 1 LIMIT 1 rails-docker-2-web-1 | ↳ app/controllers/application_controller.rb:9:in `current_user' rails-docker-2-web-1 | Redirected to http://localhost:3000/boards/new rails-docker-2-web-1 | Completed 302 Found in 26ms (ActiveRecord: 3.2ms | Allocations: 24197) rails-docker-2-web-1 | rails-docker-2-web-1 | rails-docker-2-web-1 | Started GET "/boards/new" for 172.20.0.1 at 2022-02-28 13:33:08 +0000 rails-docker-2-web-1 | Cannot render console from 172.20.0.1! Allowed networks: 127.0.0.0/127.255.255.255, ::1 rails-docker-2-web-1 | Processing by BoardsController#new as HTML rails-docker-2-web-1 | User Load (0.9ms) rails-docker-2-web-1 | SELECT rails-docker-2-web-1 | `users`. * rails-docker-2-web-1 | FROM rails-docker-2-web-1 | `users` rails-docker-2-web-1 | WHERE rails-docker-2-web-1 | `users`.`id` = 1 LIMIT 1 rails-docker-2-web-1 | ↳ app/controllers/application_controller.rb:9:in `current_user' rails-docker-2-web-1 | Rendering layout layouts/application.html.erb rails-docker-2-web-1 | Rendering boards/new.html.erb within layouts/application rails-docker-2-web-1 | Rendered shared/_error_messages.html.erb (Duration: 0.1ms | Allocations: 42) rails-docker-2-web-1 | Tag Load (1.4ms)

Ruby

#views/boards/_form.html.erb <%= render 'shared/error_messages' %> <%= form_with model: board do |f| %> <div class="form-group"> <%= f.label :title, 'タイトル' %> <%= f.text_field :title, class: 'form-control' %> </div> <div class="form-group"> <%= f.label :name, '名前' %> <%= f.text_field :name, class: 'form-control' %> </div> <div class="form-group"> <%= f.label :body, '本文' %> <%= f.text_area :body, class: 'form-control', rows: 10 %> </div> <span class="image"> <%= f.file_field :image, accept: "image/jpeg,image/gif,image/png" %> </span> <div class="form-group"> <span>タグ</span> <%= f.collection_check_boxes(:tag_ids, Tag.all, :id, :name) do |tag| %> <div class="form-check"> <%= tag.label class: 'form-check-label' do %> <%= tag.check_box class: 'form-check-input' %> <%= tag.text %> <% end %> </div> <% end %> </div> <%= f.submit '保存', class: 'btn btn-primary' %> <% end %> <script type="text/javascript"> $("#board_image").bind("change", function() { var size_in_megabytes = this.files[0].size/1024/1024; if (size_in_megabytes > 5) { alert("Maximum file size is 5MB. Please choose a smaller file."); $("#board_image").val(""); } }); </script>

Ruby

#boards_controller class BoardsController < ApplicationController before_action :set_target_board, only: %i[show edit update destroy] def index @boards = params[:tag_id].present? ? Tag.find(params[:tag_id]).boards : Board.all.order(id: "DESC") @boards = @boards.page(params[:page]) @boards_count = Board.all.count @today_count = Board.created_today.count @lastmonth_count = Board.created_last_month.count @month_count = Board.created_month.count end def new @board = Board.new(flash[:board]) end def create board = Board.new(board_params) board.image.attach(params[:board][:image]) if board.save flash[:notice] = "「#{board.title}」の掲示板を作成しました" redirect_to board else redirect_back fallback_location: root_path, flash: { board: board, error_messages: board.errors.full_messages } end end def show @comment = Comment.new(board_id: @board.id) end def edit @board.attributes = flash[:board] if flash[:board] end def update if @board.update(board_params) redirect_to @board else redirect_back fallback_location: root_path , flash: { board: @board, error_messages: @board.errors.full_messages } end end def destroy @board.destroy redirect_to boards_path, flash: { notice: "「#{@board.title}」の掲示板が削除されました" } end private def board_params params.require(:board).permit(:content, :image, :name, :title, :body, tag_ids: []) end def set_target_board @board = Board.find(params[:id]) end end

Ruby

#model/boards.rb class Board < ApplicationRecord has_many :comments, dependent: :delete_all has_many :board_tag_relations, dependent: :delete_all has_many :tags, through: :board_tag_relations has_one_attached :image belongs_to :user validates :name, length: { maximum: 10 } validates :title, presence: true, length: { maximum: 30 } validates :body, presence: true, length: { maximum: 1000 } scope :created_today, -> { where(created_at: Time.zone.now.all_day) } # 今日 scope :created_last_month, -> { where(created_at: Time.zone.now.prev_month.all_day) } # 1ヶ月前の投稿 scope :created_month, -> { where(created_at: Time.zone.now.all_month) } # 今月の投稿 validates :image, content_type: { in: %w[image/jpeg image/gif image/png], message: "must be a valid image format" }, size: { less_than: 5.megabytes, message: "should be less than 5MB" } # 表示用のリサイズ済み画像を返す def display_image image.variant(resize_to_limit: [500, 500]) end end

現状github

Ruby

#Gemfile source 'https://rubygems.org' git_source(:github) { |repo| "https://github.com/#{repo}.git" } ruby '2.7.5' # Bundle edge Rails instead: gem 'rails', github: 'rails/rails', branch: 'main' gem 'rails', '~> 6.1.4', '>= 6.1.4.6' gem 'active_storage_validations', '0.8.2' # Use mysql as the database for Active Record gem 'mysql2', '~> 0.5' # Use Puma as the app server gem 'puma', '~> 5.0' # Use SCSS for stylesheets gem 'sass-rails', '>= 6' # Transpile app-like JavaScript. Read more: https://github.com/rails/webpacker gem 'webpacker', '~> 5.0' # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks gem 'turbolinks', '~> 5' # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder gem 'jbuilder', '~> 2.7' # Use Redis adapter to run Action Cable in production # gem 'redis', '~> 4.0' # Use Active Model has_secure_password gem 'bcrypt', '~> 3.1.7' # Use Active Storage variant # gem 'image_processing', '~> 1.2' # Reduces boot times through caching; required in config/boot.rb gem 'bootstrap', '~>4.0.0' gem 'kaminari' gem 'rails-i18n' gem 'jquery-rails' group :development, :test do # Call 'byebug' anywhere in the code to stop execution and get a debugger console gem 'byebug', platforms: [:mri, :mingw, :x64_mingw] gem 'rails-flog', require: 'flog' gem 'rspec-rails', '~> 3.8' gem 'rails-controller-testing' end group :development do # Access an interactive console on exception pages or by calling 'console' anywhere in the code. gem 'web-console', '>= 4.1.0' # Display performance information such as SQL time and flame graphs for each request in your browser. # Can be configured to work on production as well see: https://github.com/MiniProfiler/rack-mini-profiler/blob/master/README.md gem 'rack-mini-profiler', '~> 2.0' gem 'listen', '~> 3.3' # Spring speeds up development by keeping your application running in the background. Read more: https://github.com/rails/spring gem 'spring' end group :test do # Adds support for Capybara system testing and selenium driver gem 'capybara', '>= 3.26' gem 'selenium-webdriver' # Easy installation and use of web drivers to run system tests with browsers gem 'webdrivers' end # Windows does not include zoneinfo files, so bundle the tzinfo-data gem gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。