💎
Railsチュートリアル〜13(8/25の積み上げ)
作成日:
2021/08/25
0
6章ユーザーのモデルを作成する
6章〜12章まではユーザー登録ページを作るための話
- DeviseというRailsのログイン/認証システム用のgemもある
- 安易にgemを用いると火を噴く可能性あるよ
- スタブってなんだ?=テスト用のダミーメソッドのことらしい。です。
参考:【Ruby on Rails】RSpecにおけるモックとスタブの基本事項メモ【プログラミング学習開始142日目】
6.1 Userモデル
- データベースに長期保存するためのデータ構造を作る=モデル
Active Recordは、データオブジェクトの作成/保存/検索のためのメソッドを持っています。これらのメソッドを使うのに、リレーショナルデータベースで使うSQL(Structured Query Language)を意識する必要はありません。
- SQLを直書きしなくて済むのはメリット?かなぁ?(OracleとPostgreとMySQLで同じSQLなのに違う書き方することで混乱するから統一されるって意味ではメリットかも)
- Migration機能とか(Migration = 移行)
データの定義をRubyで記述することができ、SQLのDDL(Data Definition Language)を新たに学ぶ必要がありません。
- PL/SQLで挫折した経験あるのでそれは楽かも…
- 要するにSQLを新たに学び直す必要無いよ!ってこと(それはそれでちょっと不安…)
6.1.1 データベースの移行
Railsでユーザーをモデリングするときは、属性を明示的に識別する必要がありません。
- そうだったんだ?!
コントローラ名には複数形を使い、モデル名には単数形を用いるという慣習を頭に入れておいてください。
- Progateでやってる時、混乱してたね…
マイグレーションは、データベースの構造を〜データモデルを適合させることができます。
- 大事なこと言ってるのはわかるけど意味不明なので_φ(・_・
マイグレーション自体は、データベースに与える変更を定義したchangeメソッドの集まりです
- 言われてみれば…そうか、Railsにはデフォルトで入ってるメソッドがたくさんあるってことで……すると、APIがあるってことだよね?
- 参考:Railsのメソッド一覧があるところ、っぽい(英語)
- マジックカラムってのが2個あって、作った日時と変更した日時を勝手に入れてくれるっぽい、便利
- rails db:migrate =マイグレーションの適用 っていうらしい(ProgateではDBを処理する編集作業した後にこのコマンドを毎回忘れて毎回エラー出して注意されてた)
- rollbackコマンドもあるよ
- コマンド実行したらスキーマファイルの中身が消えたΣ(゚Д゚;)!
- のに、db:migrateしたらまた元に戻った!
- う〜〜ん、スキーマファイルの挙動とdb:migrateがよくわからないがちゃんとわかっとかないといけないと思う感じがする
近く何らかのタイミングでRubyを総復習する必要を感じる今日この頃
内容が濃くなってきた…Ruby復習しつつやらないと色々やばい。
でも5章までProgateでやってきたことの復習がメインだったのでワクワクしてきた…
あとProgateであまり深くやってなくてモヤっとしたActiveRecordが解明される気がする
SJC-P1.4/心理学検定特1級所持 過去:専門学校で非常勤講師(複数) 現:フリーター/2児の子持ち/家庭教師バイト中 Doing:#HTML #CSS #JavaScript #Ruby #Rails #心理学@放送大学(心理と教育コース)
Webアプリを開発したくて日々勉強中