個人アプリ開発 記事投稿機能作成
ユーザー新規登録・ログイン機能の実装が完了し、記事投稿機能作成に入っていきました。
作業内容
・リンク修正
先にリンクの修正を行いましたが、ここで思った実装になりませんでした。
リンク先に root_path を指定しようと思い、viewに下記記述をしましたが、
= link_to "水族館ログ", "/"
なぜかuser/root_pathを探しに行ってしまいました。
rails routesで確認すると、rootの上にたくさんrouteが。
routes.rbファイルでrootの記述を一番上に修正すると、
rootが一番上に来て、意図通り遷移することができました。
記事投稿機能作成スタート
1.controller、view、model作成
2.テーブル作成、modelアソシエーション設定
migrationファイル内のテーブル、modelファイル内のアソシエーションを記述していきました。
一対多と多対多の、それぞれの理解が曖昧だったの確認しつつ進めました。
migrationエラー
db:migrateをすると、下記エラーが出ました。
Mysql2::Error: Cannot add foreign key constraint:
外部キーが見つかりませんと言われてします。
原因は、まだ存在しないテーブルとの中間テーブルを先に作成したことでした。
migrationファイルはファイル名がタイムスタンプになっており、若い順に読み込まれる為、エラーが出ていました。
▶︎読み込み順を考え、migrationファイルの名称を変更。
3.新規作成機能
・contoroller編集
・view編集
ストロングパラメータ記述を再確認しました。
Railsでは、保存する前に必ずストロングパラメータを使って許可を行わなければ、データの保存がされないようセキュリティ対策が取られている。
ここまで進めましたが、ちゃんと保存がされないので、また明日調査していきます。