IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

Hacker News クローンアプリを作ってみる 【その3】

はじめに

ここでは、以下の動画を参考にして Hacker News クローンアプリを作成することにする。その2 はこちら

 

投票機能を作成する

acts_as_votable をインストールする。

  • echo "gem 'acts_as_votable'" >> Gemfile
  • bundle

 

acts_as_votable のジェネレーターを実行する。

  • bin/rails generate acts_as_votable:migration
  • bin/rails db:migrate

 

リンクの投票機能を有効化する。

f:id:matt-note:20190306111859p:plain

 

投票用のルーティングを作成する。

f:id:matt-note:20190306112243p:plain

-> /links/:id/like に PUT リクエストをすると、links コントローラの upvote アクションを実行するように定義した。

 

links_controller.rb に upvote, downvote アクションを追加する。acts_as_votable では、liked_by, downvote_from といったメソッドでDBを操作できる。

f:id:matt-note:20190306154148p:plain

f:id:matt-note:20190306154630p:plain

 

index.html.erb を編集する。

f:id:matt-note:20190306154824p:plain

f:id:matt-note:20190306153206p:plain

 

show.html.erb にも投票ボタンを表示する。

f:id:matt-note:20190306172844p:plain

f:id:matt-note:20190306173217p:plain

 

これで、ざっくりと Hacker News クローンアプリを作成することができた。