Rails / Ruby

連載: Rails4でRESTfulアプリケーションの7アクション+αを作る

RailsにはRESTfulなURIを生成してくれる便利な機能があり、キャッシュバック賃貸でもよく使っています。

今回はその機能を利用した記事一覧機能の作り方をご紹介します。

記事一覧機能のルーティング設定

まずはroutes.rbでルーティング設定を行います。

RailsではresourcesメソッドでRESTfulなURIを生成できます。

一覧表示にはindexアクションを使うので

# config/routes.rb
namespace :blog do
  resources :posts, only: [:index]
end

と設定します。

設定してからルーティングを確認すると

$ rake routes
blog_posts GET  /blog/posts(.:format) blog/posts#index

という行が出力されます。

ここからは

  1. Prefixはblog_postsで、blog_posts_pathといったヘルパーでパスを取得できる
  2. /blog/posts(.:format)へのGETリクエストでアクセスできる
  3. blog_postsコントローラのindexアクションを実行する

ということがわかります。

記事一覧機能のコントローラ

コントローラではindexアクションを実装します。

indexアクションでは一覧用の記事データを取得する必要があるので

# app/controllers/blog/posts_controller.rb
def index
  @posts = Blog::Post.all
end

というようにBlog::Postモデルのリストを取得します。

記事一覧機能のビュー

indexアクションのビューでは取得済みの記事データを表示します。

各記事へのリンクを表示するのであれば

/ app/views/blog/posts/index.html.slim
ul
  - @posts.each do |blog_post|
    li = link_to blog_post.title, blog_post_path(blog_post.id)

と書くことができます。

次はshowアクションでの記事表示を行います。

関連記事