デバックツール
- pry-railsはRails向けに開発されたデバッグツール。
- デバッグツールとは、作業の際にバグの有無を確認したり、処理を止めてソースコードが正しいかを確認する際に使用するツールのこと。
- デバッグツールを使いこなすことで、より開発がしやすくなる。
- pry-railsの機能の中で最も使用するのはbinding.pry(バインディングプライ)という機能。これは、binding.pryという文字列をソースコードの中に記述することで、binding.pryという文字列が存在する部分でRailsの処理を止めることができる。
ルートパス
- localhost:3000」や「app.me」のように、パスを付けないホスト名だけのURLのことをルートパスと言いう。
- 以下の例のように、
root コントローラ名#アクション名
とすればルートパスにアクセスした際に見せる画面を指定できる。
route.rb
Rails.application.routes.draw do
root 'コントローラ名#アクション名'
end
orderメソッド
- allメソッドを利用した場合、通常であればレコードはid順に取得されますが、下記のようにorderメソッドの引数として("id DESC")とすれば、レコードは逆順に並び替えられます。
apps_controller.rb
def index
@contents = Content.all.order("id DESC")
end
ページネーション
- 長い文章を複数のページに分割して、各ページへのリンクを並べアクセスしやすくすること。
- ページネーションを実装する際には「kaminari」というGemをインストールして使用。
kaminari:pageメソッド
- kaminariを導入すると、モデルクラスにpageメソッドが定義されます。このメソッドは、ページネーションにおけるページ数を指定。
kaminari:perメソッド
- perメソッドもpageメソッドと同様、kaminariというgemをインストールすることで利用できるメソッド。1ページあたりに表示する件数を指定する。
sample_controller.rb
変数名 = クラスを利用して取得したレコードのインスタンス.page(params[:page]).per(ここに1ページで表示したい件数を入力)
apps_controller.rb
@apps = App.order("created_at DESC").page(params[:page]).per(5)
# created_atはツイートが作成された日時
kaminari:paginateメソッド
- ページネーションのリンクを表示したいときに使用するメソッド。
- paginateメソッドの引数は、コントローラで定義した変数を指定する。
index.html.erb
<div class="contents row" >
<% @apps.each do |app| %>
<div class="content_post" style="background-image: url(<%= app.image %>);">
<%= simple_format(app.text) %>
<span class="name"><%= app.name %></span>
</div>
<% end %>
<%= paginate(@apps) %>
</div>