teratailの使い方として正しくないのかもしれませんが、自分で調べても結論が分からなかったので教えていただきたいです。
前提・実現したいこと
単にローカルのrailsのバージョンを下げるのではなく、構築済のrailsファイル群内部のバージョンを下げることは可能でしょうか?
具体的に、現在最新の 6.1.1
で簡単なアプリを作り始めたのですが、gemのdevise_token_auth
が6.1未満のバージョンでないと対応していないので、最初から作り直すしかないのか?と頭を抱えています。
自分なりの進捗
想像で色々書き換えて見た結果バージョンを下げられている風まで辿り着きました。
道中以下のエラーが発生したため、エラー部分に該当する部分をコメントアウトしています。
すると、service_name
が取得されず、ActiveRecordが正常に動かなくなりました。
何が起こっているのかわからずに進んでいるためにご教授お願いしたいです。
config.ru:6:in `block in <main>': undefined method `load_server' for #<Myapp::Application:0x000056025ff3d8a8> (NoMethodError) Did you mean? load_seed
↓config.ru
# This file is used by Rack-based servers to start the application. require_relative "config/environment" run Rails.application # Rails.application.load_server #ここをコメントアウトしました
上記で立ち上がったものの、コメントアウトの弊害で以下のエラー
ActiveRecord::NotNullViolation (PG::NotNullViolation: ERROR: null value in column "service_name" violates not-null constraint
このエラーをActiveRecord
のservice_name
カラムのdefault
をgoogle
にすることで回避しました。(かなり無理矢理エラーを逃れています。)
t.string :service_name, null: false, default: "google"
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。