自分用のアウトプット。
showアクションでマイページの実装をする。
tweetsテーブルにuser_idのカラムをinteger型で追加。
rails g migration AddUserIDToTweets user_id:integer
その後、マイグレーションファイルの実行。
current_userメソッド … devise導入で使用できるメソッド。現在ログインしているユーザーの情報を取得できる。
mergeメソッド … ハッシュを結合させるときに使うRubyのメソッド。
yakusou = { name: “薬草”, price: 100 }
tsuika = { effect: “回復” }
yakusou.merge(tsuika)
→ { name: “薬草”, price: 100, effect: “回復” } となる。
アソシエーション … モデルを利用したテーブル同士の関連付け。
誰がどの投稿をしたのかを紐付けることができる。
has_manyメソッド
一人のユーザーは複数の投稿を所有している、has many の状態にある。
今回は「User has many tweets」の状態。
belongs_toメソッド
一つの投稿は必ず一人のユーザーに所属している、belongs to の状態にある。
今回は「Tweet belongs to User」の状態。
ルーティングに resources :users, only: :show を追加。
/users/:idのパスでリクエストすると、users_controller.rbのshowアクションを実行する。
その他、細々としたコントローラーやビューファイルの設定をしました。
しかし未ログイン状態で投稿者ページに飛ぼうとするとエラー。
ユーザー1でログインして投稿者ユーザー2のところをクリックしてもユーザー1のページに飛んだりなど、挙動が謎。
なんとかせねば。