#64 9/9 9/17 9/23 userの登録項目(parameter)を増やす2 ~StrongParameter~
■StrongParameterとは?
https://qiita.com/mochio/items/45b9172a50a6ebb0bee0
・メソッドで管理
・ホワイトリスト形式
---
2.次は年齢・性別・都道府県・プロフィールコメントの項目を登録出来るか検証
a.Modelをいじり、DBを変更する
→
id,name,email,sex,age,content,img,title,residence,password,password_digest
が必要なカラム
uid:int
gender:string(選択形式)
birthday :date(選択形式)
content:text
の型
・生年月日から年齢の箇所は
”rails 生年月日 年齢”などで検索
1. rails g migration AddColumnsToUsers uid:integer gender:string birthday:date content:text だと成功する。
”id”がだめみたい。
2.時間が違くても、同じ名前のカラム変更は、
強制リプレイス(--force)か、変更なし(--skip)。のどちらかになる
b.View自体には新規追加なく、registration/new.html.erbに項目を増やす。
https://www.sejuku.net/blog/13163
1.uidは自動で作成されるもの
1'.name:string→自由記載 text_field
2.gender:string→選択制 select
3.birthday:date→日時選択性 date_select
4.context:text→自由記述 textarea
■htmlをいじる
・select
<%= f.select :gender, [["男性", "male"], ["女性", "female"]] ,class:"form-control"%>
https://freesworder.net/rails-form_for-select/
genderが表示されていない。
→1.そもそもDBに入っていないのか
2.出力されていないのか
c.Controllerをいじり、引数を入れる
→application_controllerでいじるのかな
年齢で使えるかも
https://qiita.com/yaboojp/items/775a924ee8c3ae0a6d21
<%== sprintf( f.date_select(:birthday, :use_month_numbers=>true, :date_separator => '%s', :start_year=>1930, :end_year => Time.now.year, :default =>'1990-1-1'.to_date), '年','月') + '日生まれ' %>
同じような複数カラムを扱っている
https://blog.codecamp.jp/rails_text_12
※name のカラム消してしまったので、再度作る。
①既存のカラムを削除する
rails destroy migration AddColumnsToUsers
②新しくカラムを追加(上記と同じ)
rails g migration AddColumnsToUsers uid:integer name:string gender:integer birthday:date content:text
③rails db:migrate:resetとrake db:seedで、migrateリセットとrake
以上で再度生成完了。ログインも可能。