読者です 読者をやめる 読者になる 読者になる

Railsで掲示板を作る②

Railsで掲示板を作る① 

 

いい加減再開しようと思ったが前回から時間をあけすぎてもう全く覚えてないという悲しい事態

作ったスレッドにコメントを書き込むと画面がなくて落ちるという状態であった

 

複数のアクションに対して画面が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