Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

「プログラミング経験」に「JavaScript経験あり」を追加したい #7906

Closed
komagata opened this issue Jun 30, 2024 · 16 comments

Comments

@komagata
Copy link
Member

フロントエンドコースがオープンしたため。

@komagata
Copy link
Member Author

📝 これ、複数選択ありに変えた方がいいかも。

@machida
Copy link
Member

machida commented Jul 9, 2024

会員登録時のフォームとデータ構造を変更

現在は、この選択肢のselectタグ。以下の選択肢から一つだけ選択ができる。

image

これをチェックボックスで複数チェックできるようにする。

貼り付けた画像_2024_07_09_23_47

選択肢から「未経験」を無くす。
チェックが一つも無い場合は未経験にする。

@motohiro-mm
Copy link
Contributor

@komagata @machida

質問を1点させてください。

「プログラミング経験」は新たにモデルにするのか、Userモデルのカラムを増やすのか

現在はUserモデルのカラムの1つにexperienceがenum型で存在しています。
それを複数選択可にするとのことで、2つの方法を考えました。
今回どちらで進めていけば良いのか教えていただきたいです。

  1. 新たにExperienceモデルを作成しUserモデルにExperienceモデルを中間テーブルを介して多対多の関連付けにする

  2. Userモデルのカラムとして「プログラミング経験」の「HTML/CSS経験あり、Rubyの経験あり、…」を1つ1つカラムとしてもたせる
    登録情報の「特殊ユーザー属性」の中の「アドバイザー・研修生・無料・メンター」はそれぞれUserのカラムになっています。

(その他に1つのカラムに配列で値を格納できるserializeというのもあるようなのですが、データが正規化されていないので不適切とのことでした)

ActiveRecord serialize / store の甘い誘惑を断ち切ろう #Ruby - Qiita

回答をよろしくお願いいたします。

@komagata
Copy link
Member Author

@motohiro-mm 下記で使っているactive_flagの機能を使って複数回答に対応するといいと思います。

bootcamp/app/models/user.rb

Lines 245 to 246 in a146f10

flag :retire_reasons, %i[
done

また、既存のデータに対応する必要があるので、既存カラムとは別名のexperiencesなどを作って、データ移行のスクリプトをdata-migrationを使って書いてください〜。

@motohiro-mm
Copy link
Contributor

@komagata

承知しました!
再度調べて分からないところは質問させていただきます。
ありがとうございます!

@motohiro-mm
Copy link
Contributor

@komagata @machida

データ移行にあたり1つ確認したいことがあります。

現在「Ruby以外の言語経験あり」を選択しているユーザーのデータはどうすべきか

確認したいこと

現在「Ruby以外の言語経験あり」を選択しているユーザーのデータは、「Ruby、JS以外の言語経験あり」にデータを移行する、で良いのでしょうか?
予定している選択肢の中ではそれしかないように思ったのですが、「Ruby以外」≠「Ruby・JS以外」なのでちょっとずれているなと感じたので、確認させていただきました。

現状の選択肢

  • 未経験(inexperienced)
  • HTML/CSS 経験あり(html_css)
  • Ruby以外の言語経験あり(other_ruby)
  • Ruby 経験あり(ruby)
  • Rails 経験あり(rails)

修正後予定している選択肢

  • (選択なしで「未経験」)
  • HTML/CSSの経験あり(html_css)
  • Rubyの経験あり(ruby)
  • Railsの経験あり(rails)
  • JavaScriptの経験あり(javascript)
  • Reactの経験あり(react)
  • Ruby、JS以外の言語経験あり(other_ruby_and_javascript)

お手隙の際に回答をよろしくお願いいたします。

@machida
Copy link
Member

machida commented Jul 18, 2024

@motohiro-mm
あー確かに!
とりあえずそのようにお願いします。
もし、Ruby以外の言語がJSだった場合もあるかと思いますが、一旦それは無視でいきたいと思います。
項目が変わったら、その旨をお知らせに書くので、新しいフォーマットに揃えて各受講生に対応してもらおうと思います。

@motohiro-mm
Copy link
Contributor

@machida

承知しました!

項目が変わったら、その旨をお知らせに書くので、新しいフォーマットに揃えて各受講生に対応してもらおうと思います。

たしかにReactなどの項目も増えるのでそちらの対応があると良さそうですね!
ありがとうございます!

@motohiro-mm
Copy link
Contributor

@komagata

データ移行に関して質問が1つあります。

移行したあとのuserモデルのexperienceカラムの削除について

データ移行後のuserモデルのexperienceカラムは不要となりますが、そちらの削除についてはこのissue(作成されるPR)では行わない、という理解であっていますでしょうか?
削除用のPRを別で作成する等、理解が違っていましたら教えていただきたいです。

@komagata
Copy link
Member Author

@motohiro-mm はい、削除用の別Issueを作成しておいていただければありがたいです〜!

@motohiro-mm
Copy link
Contributor

@komagata

承知しました!
別のissueとして作成しました→#7968

@motohiro-mm
Copy link
Contributor

本番環境で、プログラミング経験を複数選択して登録できることを確認しました!

@motohiro-mm
Copy link
Contributor

@komagata @machida

おつかれさまです!
お手隙の際に、このissueの表示に関する確認をお願いいたします。
以下は確認手順です↓

  1. メンターor管理者権限をもつユーザーでログイン
  2. ユーザー一覧を表示
  3. 「現役生+研修生」にいるユーザーをクリック
  4. 「ユーザー非公開情報」の「経験」の欄が以下のように表示されているかを確認(赤矢印は該当部位を示しており、赤矢印自体は表示されません)
    (2パターンあります)

未経験の場合

スクリーンショット 2024-07-22 21 57 16

経験ありの場合

スクリーンショット 2024-07-22 21 58 39

メンター・管理者・アドバイザー・卒業生はユーザー非公開情報がユーザーページにないため、現役生+研修生のなかからユーザーを選んでいただき、「経験」の表示(2パターン)が問題ないか確認をお願いいたします。

お手数おかけしますが、よろしくお願いいたします。

@komagata
Copy link
Member Author

@motohiro-mm 本番環境で確認しました。OKでした〜

@motohiro-mm
Copy link
Contributor

@komagata

確認ありがとうございました!🙏

@motohiro-mm
Copy link
Contributor

本番環境で確認できましたので、こちらのissueはcloseにします!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: 完成
Development

No branches or pull requests

3 participants