railsでrails g model userとコマンドを入力すると、上記エラーが出ます。
###経緯
devise_token_authを使って開発しています。
既存のテーブルカラムとのダブりを直そうとrails db:rollbackを何回か繰り返したところ、usersテーブルごと消えてしまいました。
そこで、元々あったuserモデルをrails destroyで削除し、rails g model userをしましたが、エラーが発生しました。
また、手動で作ろうとrails g migration usersを行いましたが同じエラーが出ます。
調べたところ、ファイル名とクラス名が一致していないのが原因のようですが、クラス名というのはコントローラーのことなんでしょうか。
初学者なので、初歩的な質問かもしれないですが、解決できる方おられますでしょうか。
他にソースコードが必要であれば追加致します。
#users_controller.rb module Api module V1 class UsersController < ApplicationController def create user = User.create(user_params) if user.save render json: {text: 'succes', status: 200, data: user} else render json: {text: 'error', status: 500, data: user.errors } end end private def user_params params.require(:user).permit(:name, :user_id, :email, :password) end end end end
#api/db/migrate/20211006114511_devise_token_auth_create_users.rb class DeviseTokenAuthCreateUsers < ActiveRecord::Migration[5.2] def change change_table(:users) do |t| ## Required t.string :provider, :null => false, :default => "email" t.string :uid, :null => false, :default => "" ## Database authenticatable t.string :encrypted_password, :null => false, :default => "" ## Recoverable t.string :reset_password_token t.datetime :reset_password_sent_at t.boolean :allow_password_change, :default => false ## Rememberable t.datetime :remember_created_at # 追記 -------------------------------------------- ## Trackable t.integer :sign_in_count, default: 0, null: false t.datetime :current_sign_in_at t.datetime :last_sign_in_at t.string :current_sign_in_ip t.string :last_sign_in_ip # ----------------------------------------------------- ## Confirmable t.string :confirmation_token t.datetime :confirmed_at t.datetime :confirmation_sent_at t.string :unconfirmed_email # Only if using reconfirmable ## Lockable # t.integer :failed_attempts, :default => 0, :null => false # Only if lock strategy is :failed_attempts # t.string :unlock_token # Only if unlock strategy is :email or :both # t.datetime :locked_at ## User Info # t.string :name # t.string :nickname t.string :image # t.string :email ## Tokens t.text :tokens t.timestamps end add_index :users, :email, unique: true add_index :users, [:uid, :provider], unique: true add_index :users, :reset_password_token, unique: true add_index :users, :confirmation_token, unique: true # add_index :users, :unlock_token, unique: true end end
#api/db/migrate/20211007175252_create_users.rb class CreateUsers < ActiveRecord::Migration[5.2] def change create_table :users do |t| t.string :name t.string :user_id t.string :email t.string :password t.timestamps end end end
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/08 03:32
2021/10/08 03:47
2021/10/08 03:49
2021/10/08 05:29
2021/10/08 05:56
2021/10/08 07:27