Scaffoldingで生成したコードを写経

Scaffoldingで生成したコードを、再度、自分の手で書いて見ながら、
ちょっとコードを変えたりして、遊んでいます。

Rails では、/books/show/1 というURLをたたくと、
BooksContoller#show にパラメータとして'1'を渡して
respond_to というメソッドによって、show.html.erbに画面が
遷移します。

このとき、遷移元の index.html.erb では、以下のように記述します。

    <%= link_to 'Show', book %>

この結果として、リンク先には /books/1 などのように、URLが生成されます。ここでの1は、bookオブジェクトのidです。

Rails では、/books/1 は、デフォルト(resources :books という宣言がroutes.rb に必要)でshowアクションを呼ぶことを意味します。

従って、BooksController#show としてこの処理を実装するのが望ましいということです。

しかし、この時に、BooksController#kensaku メソッドを呼び出して、kensaku.html.erb の画面に遷移する、という形にすると、リンクの書き方は面倒になります。

    <%= link_to 'Show', ' books/kensaku/' + book.id.to_s%>

こんなこと普通やらないですよね。
レールを逸脱してみたら、面倒になったということです。

実際の業務アプリ実装でも、デフォルトのshow とか edit をやっぱり活用していくんでしょうか。いろんなオペレーションが必要になったりしないのかなぁ。

というわけで、基本的なCRUDがなんとなくできるようになってきているところです。