ルートパス
今までは、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 %>