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

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

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

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

Ruby on Rails

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

解決済

deviseを使ったuserの作成について

退会済みユーザー

退会済みユーザー

総合スコア0

Ruby

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

Ruby on Rails

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

1回答

0リアクション

0クリップ

192閲覧

投稿2022/09/26 04:01

編集2022/09/26 07:03

deviseを使ったuserを使うために新しくプロジェクトを作り直して作成しています。
ユーザーモデルを作成するところで止まっています。
現状は
1.gem 'devise'をbundle installした
2. rails g devise:installをした
3.rails g devise user コマンド入力した
ここで止まっています。
問題はマイグレーションファイルの中身についてですが

作り直す前のプロジェクトのuserマイグレーションファイルは

class CreateUsers < ActiveRecord::Migration[6.1] def change create_table :users do |t| t.string :name t.string :email t.string :password_digest t.string :telephone_number t.string :furiganaName t.string :address t.string :self_inroduction t.string :image t.timestamps end end end

になっているのですが、deviseバージョンでも例えばtelephone_number(電話番号)や
address(住所)などもdeviseバージョンのマイグレーションファイルに
追記していいのでしょうか?
現状の作り直したdevise userのマイグレーションファイルはこちらです。

# frozen_string_literal: true class DeviseCreateUsers < ActiveRecord::Migration[6.1] def change create_table :users do |t| ## Database authenticatable t.string :name, null: false t.string :email, null: false, default: "" t.string :encrypted_password, null: false, default: "" ## Recoverable t.string :reset_password_token t.datetime :reset_password_sent_at ## 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 t.timestamps null: false end add_index :users, :email, 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

まだ、rails db:migrateは行っていません。

参考サイト:
https://qiita.com/masayan-06/items/61b9d2be6ee3f67315f0

!追加
追加しようとしたコード(まだ実行していません)

# frozen_string_literal: true class DeviseCreateUsers < ActiveRecord::Migration[6.1] def change create_table :users do |t| ## Database authenticatable t.string :name, null: false --------ここに追加したい------------------------------------ t.string :telephone_number t.string :furiganaName t.string :address t.string :self_inroduction t.string :image --------ここに追加したい------------------------------------ t.string :email, null: false, default: "" t.string :encrypted_password, null: false, default: "" ## Recoverable t.string :reset_password_token t.datetime :reset_password_sent_at ## 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 t.timestamps null: false end add_index :users, :email, 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

以下のような質問にはリアクションをつけましょう

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

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

m.ts10806

2022/09/26 04:33

初期データも必要とするならマイグレーションに含むべき という話ですか?
退会済みユーザー

退会済みユーザー

2022/09/26 06:24

deviseを初めて使用するためマイグレーションファイルの書き方をいまいち理解できていません。 すみません。 userの情報(例:住所や電話番号、プロフィール写真)も掲載するときの掲載者の情報として表示するために一緒に追加して、userテーブルを作成したいのですが、userの個人情報のカラムはどの箇所に記入すればいいのでしょうか? 初期データというのは例えばサインアップする際に必要とするデータということでしょうか? 解釈が間違っていましたらすみません。
m.ts10806

2022/09/26 06:33

いえ、ユーザをどのように作る仕様にされているのかなと。 サンプルで1件用意しておくのか、画面から作るのか。 あと1点私が間違えてたのですが、初期データというとマイグレーションではなく「シーダー(Seeder)」ですね。 https://qiita.com/takehanKosuke/items/79a66751fe95010ea5ee
退会済みユーザー

退会済みユーザー

2022/09/26 07:02

すみません。画面からユーザーを作成してテストしたいです。 最初の会員登録するときに :ユーザー名 :ユーザー名フリガナ :住所 :電話番号 :パスワード :パスワード を登録してサインアップするという流れにしたいです。 そこからユーザーの編集ページで :プロフィール写真 :プロフィール分 を追記できるようにするという形にしようと思っています。 なので、userテーブルには   t.string :telephone_number t.string :furiganaName t.string :address t.string :self_inroduction t.string :image を入れたいなと思っていたのですが、devise時マイグレーションファイルの書き方が通常のマイグレーションファイルと書き方が違うのかわからないために、質問させていただきました。

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

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

アカウントをお持ちの方は

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

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

Ruby

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

Ruby on Rails

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