2020-11-01から1ヶ月間の記事一覧
はじめに ransackの実装の流れをメモしておきます。 gemのインストール Gemfile gem 'ransack' $ bundle install Controller def index @q = Board.ransack(params[:q]) @boards = @q.result(distinct: true).includes(:user).order(created_at: :desc).page…
はじめに ページネーションを実現させるgem(kaminari)の実装方法について書いていきます。 gemのインストール まず、今回使用するgem kaminariをインストールしましょう。 Gemfile gem 'kaminari' gemのインストール bundle install 基本的な使い方 コントロ…
はじめに 前回の「【Rails】ブックマーク機能の実装」の発展で、これをajax処理で実現していきます。 ajaxの実装 Railsにおいてajax通信を実装する場合、主に二つの方法があります。 remote: trueを指定する方法 JSファイルに任意のタイミングでajax処理を発…
はじめに 今回、Railsで初めてブックマーク機能を実装したので、ブログにまとめていきます。 今回したいこと 掲示板の⭐️マークをクリックすると、 ⭐️マークの色が変わって、ブックマーク登録されるという機能を実装していきます。 ER図 Bookmarkモデルを中間…
はじめに ルーティングがネストしている時の、form-withの書き方を備忘録として残しておきます。 ルーティング(ネスト) resources :boards do resources :comments end createアクション ネストしたモデルのコメントをcreateするとき 、 /boards/:board_id…
はじめに 日本とアメリカに時差があるように、国や地域ごとで基準時刻というものが違います。日本で使われている時間は「日本標準時(JST)」と呼ばれています。Railsでは、デフォルトで協定世界時(UTC)」の時間で設定されているので、日本で使用するアプリの…
はじめに Railsで開発するときに、処理が正しく動いているか確認するためにダミーのデータをデータベースに入れることが多くあります。そのようなデータを用意する仕組みとしてRailsではseeds.rbファイルを使用します。 seedファイル seeds.rbの場所はdb/see…
はじめに N+1問題とは、ループ処理などでデータベースからデータを取り出す際に、必要以上にSQLが発行され、動作が悪くなってしまう問題のことです。 例えば 例えば、掲示板の一覧を表示したいとします。 下記の設定でboardモデルから全てのレコードを取得し…