FreeCamp

いいね数の取得

下記記事ではRailsアプリケーションにいいね機能を追加しました。

今回はいいね数の数も取得できる様に上記記事の完成アプリケーションを編集していきます。
完成アプリケーションを載せておきます。

https://github.com/ssshhhooota/rails_favorite

目次

  1. アプリケーションのクローン
  2. いいね数の表示
  3. 完成アプリケーション

1. アプリケーションのクローン

前回の記事を用いて作成しますので、まずはアプリケーションをgithubからクローンし、bundle install, rails db:migrateを行います。

$ git clone git@github.com:ssshhhooota/rails_favorite.git
$ cd rails_favorite
$ bundle
$ rails db:migrate

ここまでできましたら、http://localhost:3000にアクセスし、
新規登録・投稿・いいね・いいねを外す等、エラーがないか確認しましょう。

2. いいね数の表示

いいね数は「いいねする」「いいね外す」リンクの右側に表示する様にします。

...編集
<% if current_user.favorited_by?(post.id) %>
  <td><%= link_to 'いいね外す', destroy_favorite_path(post), method: :DELETE %> <%= post.favorites.count %></td>
<% else %>
  <td><%= link_to 'いいねする', create_favorite_path(post), method: :POST %> <%= post.favorites.count %></td>
<% end %>

「いいねする」「いいね外す」ボタンの右側に<%= post.favorites.count %>を追加するだけで実装できました。
post.favoritesはいいねモデルの中からpost.idが格納されているレコードを取得し、.countでそのレコードの数を取得します。
以上で実装できました。

3. 完成コード

https://github.com/ssshhhooota/rails_favorite_count