resourcesを使って書き換える

RESTfulにコードを書き直す.

resourcesヘルパーでマッピングする。
View書き換える（helperを使う）

全部、見た目は変わらない。
Controllerを書き換える（helperを使って）
form_forメソッドでformタグを作成する

resourcesメソッドを定義したメリットは他にもある。ルーティング定義にモデルの名前がそのまま利用されているので、逆にモデルの名前がわかればそのモデルを操作するのにアクセスするべきURLとそのHTTPメソッドが一意に決まる。その性質を利用してコードを短く書くことができる。form_forメソッドはRESTfulなルーティング定義ができている場合に極めて簡潔にコードを記述することが出来きる。

raiseを追加して強制的にエラー画面を表示し、入れ子構造になっていないことを確認する

　Railsの定めたRESTfulなデータフローにするためには通信時のデータフォーマットもRailsの定めたものにしなければならない。現状のデータフォーマットを確認してみる。Boardsコントローラのcreateアクションにraiseを追記してエラーを出してみる。Parameters項目にブラウザからサーバーへの通信内容が表示される。

　
new.html.erbをform_forで書き換える

入れ子になっている
raiseを削除して、実行する

入れ子構造が変わったことで、いままでのコードでは動かなくなってしまっているのが確認できる。

raiseをとってもエラーがでる。

スレッド個別ページ(Board#show)にリダイレクトしたいが、そのためのidがないと言われている。
　→なぜ、idがないのか？
　･･･1行前の@board.save(保存する処理)に失敗しているから。
params_bordメソッドを変形して、form_forタグに対応する

成功する。