Help us understand the problem. What is going on with this article?

rails 発展その1 ルートパス ページネーション  データの並び替え 部分テンプレート

More than 1 year has passed since last update.

ルートパス

今までは、local:host3000/コントローラ名
又はlocal:host3000/コントローラ名/アクション名でページに遷移していたが
local:host3000だけで初期ページに移動するようにできるようにする。

routes.rb
  Rails.application.routes.draw do
    root  'コントローラ名#アクション名'
  end

 # 例 root 'home#index'

データの並び替え

コントローラーで取得したデータの並び替え
```ruby:コントローラー
def アクション
@テーブル名 = モデルクラス名.all.order("id DESC")
end

# 例 @items = Item.all.order("id DESC")
```

ページネーションの実装

データが一定以上になると複数のページ化する処理です。

gemfile
  gem 'kaminari' 
 #これをgemgileに書き込み
ターミナル
  $ bundle install 
 # pwdで当該ファイルを確認し実行
controller
  変数名 = クラスを利用して取得したレコードのインスタンス.page(params[:page]).per(ここに1ページで表示したい件数を入力)

#例 @tweets = Tweet.order("created_at DESC").page(params[:page]).per(5)

部分テンプレート

ビューの中に他のビューファイルの内容を持ってくる方法
headerやfooderなど他ページでも多様するのに便利な方法です。

その1、_を頭につける
_header.html.erb
_fooder.html.erb
_bubun.html.erb

その2、html.erbに書く

hmtl.erb
 <%= render partial: "部分テンプレート名(_無し)", locals: { 変数: 代入値 } =>
 <!--作成例-->
  <%= render partial: "header", locals: { home: room } %>
hmtl.erb
 <!--繰り返し構文の場合-->
 <% @homes.each do |home| %>
      <%= render partial: "部分テンプレート名'(_無し)", locals: { 部分テンプレート内での変数: 繰り返し構文の変数 } %>
  <% end %>

 <!--作成例-->
 <% @homes.each do |home| %>
      <%= render partial: "bubun", locals: { tweet: tweet } %>
  <% end %>
savaniased
趣味で色々勉強と投稿をしています。 最近ではPythonを初めとした、AIやデータサイエンスを勉強しています。 ただ、著作権の関係もあり投稿できないのが悩みの種ですが。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away