showアクションで記事表示機能を作る
前回はindexアクションでRESTfulな記事一覧機能を実装しましたが、今回はshowアクションで各記事の表示を行います。
連載: Rails4でRESTfulアプリケーションの7アクション+αを作る
記事表示機能のルーティング設定
まずはroutes.rbでルーティング設定を行います。
記事表示にはshowアクションを使うので
と設定します。
設定してからルーティングを確認すると
$ rake routes
blog_post GET /blog/posts/:id(.:format) blog/posts#show
という行が出力されます。
読み方はindexアクションの時と同じで
- Prefixは
blog_post
で、blog_post_path(blog_post.id)
といったヘルパーでパスを取得できる /blog/posts/:id(.:format)
へのGET
リクエストでアクセスできるblog_posts
コントローラのshow
アクションを実行する
ということがわかります。
記事表示機能のコントローラ
コントローラではshowアクションを実装します。
showアクションでは表示用の記事データを取得する必要があるので
というようにデータを取得します。
なお、idからの記事データの取得は他のアクションでも行う操作なのでbefore_actionで行うようにしています。
記事表示機能のビュー
showアクションのビューでは取得済みの記事データを表示します。
記事の内容を表示するのであれば
と書くことができます。
ここまでで記事閲覧機能は完成しました。
次はnewアクションでの記事入力フォーム表示を行います。