0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ruby on Rails [学習記録-第6章-]

Posted at

デバックツール

  • 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>
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?