2018-01-01から1ヶ月間の記事一覧
modelに対してdefault scopeを定義すればOK 以下は作成時間が新しい順に設定 class Micropost < ApplicationRecord default_scope -> { order(created_at: :desc) } end
以下のように1ページに100ユーザーも表示されているのを 1ページ30ユーザーの表示にするため、 ページネーションを導入します。 Railsには豊富なページネーションメソッドが用意されています。 今回はその中で最もシンプルかつ堅牢なwill_paginateメソッド…
userの一覧画面などを実装した際にuserデータを一件ずつ画面登録していくのは超面倒ですね! Fakerというgemでダミーデータを作成してしまいましょう。gemfileに以下を追加 gem 'faker', '1.7.3'続いてインストール $ bundle installdb/seeds.rbに以下のよう…
インデックスを張るメリット データの読み込み・取得が早くなる。 デメリット 書き込みの速度が倍かかる。 張り方 コマンドラインで以下のコマンドを実行 rails generate migration add_index_テーブル名_カラム名すると以下のマイグレーションファイルが作…
サンドボックスモードで起動する。 このモードで起動するとコンソール自体が一つのトランザクションになるので色々便利コンソール終了時にデータベースに関する変更をロールバックすることが可能に。sandboxオプションをつけて起動する方法は以下のコマンド …
$ heroku apps:info # アプリの確認 $ heroku apps:destroy --app アプリ名
リソースベースのルーティングを使ってroutes.rbファイルに設定を記述すると自動で7つのルーティングが設定されてしまい、邪魔です。 post_comments GET /posts/:post_id/comments(.:format) comments#index POST /posts/:post_id/comments(.:format) commen…
Strong ParametersはDBに入れる値を制限することで、不正なパラメータの入力を防ぐ仕組み rails4 から導入されたようです。例えば以下のように受け取ったパラメーターを検証せずにDBに直接保存するようにしていた場合、 def create # render plain: params[:…