いい加減再開しようと思ったが前回から時間をあけすぎてもう全く覚えてないという悲しい事態
作ったスレッドにコメントを書き込むと画面がなくて落ちるという状態であった
複数のアクションに対して画面が1つの場合ってどうしたらいいんだろ
ひたすらリダイレクトすればいいのかと思ったけど
redirect_toでpostはできないとかなんとか・・・
スレッドの一覧⇛スレッドの詳細(書き込みの一覧)
↑
ここで書き込みが出来て書き込むと
スレッドの詳細にもう一度遷移したい
クラスは
・スレッド
・コメント
の2つで書き込みは書き込みクラスのメソッドでやってる
書き込むとコメントクラスから書き込みが行われるけどそこからスレッドの詳細表示にリダイレクトしたいみたいな状況
むしろこの場合書き込みをスレッドクラスから出来るようにすべき?
でもそれだとform_forとかが使えないような気がするのでやっぱりフォームから値を受け取ってインスタンスを作成してDBに書き込んでみたいのは作られるインスタンスのクラスで実装するのを前提にしてるような
JSPインクルード的なやつでスレッドの詳細画面をいろんなとこから呼び出す?
・・・
@threadBoard = ThreadBoard.find('2')
redirect_to @threadBoard
なんかこんなかんじでリダイレクトできた
redirect_toの引数にインスタンスをに指定するとそのインスタンスに紐づくコントローラーのshowに行くのか?
"comment"=>{"name"=>"aaa", "comment"=>"aaaa", "thread_board_id"=>"2"}
受け取ったパラメータがこんなかんじで入れ子になってるときに特定の値だけ取り出すにはどうしたらいいんだ
というよりなんで入れ子になってしまうんだ
@threadBoard = ThreadBoard.find(params[:comment][:thread_board_id])
とりあえずこんなんでとりだせた
あぎぎ
名前とかコメントとか空文字で書き込めないようにしたい
modelに
validates :comment, presence: true
みたいな
Railsってモデルが持ってるパラメータの名前をどこにも持ってないような気がする(DBでだけもってる?)けどあのクラスのあのパラメータの名前なんだったかしらんってなった時はどうしたらいいのだろう
とりあえずDB見たけど・・・
あとやりたいこと
①ドメインだけでアクセスしたときにスレッド一覧画面に行きたい
②画面をかっこよくしたい
③URLが書き込まれたらそのURLにアクセスしてそのページのタイトルを拾ってきてそのページのタイトルでリンクを貼りたい(あわよくば)
④書き込めなかった時のエラーメッセージを出したい
⑤ へんなURLで叩いてもどっかに飛ばしたい
git add .
git commit . -m "test"
git push origin master