2021-04-30から1日間の記事一覧

content_forを使ってタイトルを動的に出力する【rails】

はじめに railsアプリでcontent_forを使ってタイトルを動的に出力する方法について タイトルを動的に出力する まず、ヘルパーに下記のメソッドを定義します。 module ApplicationHelper def pages_title(page_title = '') base_title = 'BOARD APP' page_tit…

【rails】ルーティングをネストしてshallowオプションをつける

はじめに railsでルーティングを作成する時、ネストしたあと簡略化するためにshallowオプションをつける 設定方法 postモデルとcommentモデルが1対多数の関係にあり、 わかりやすくするためにルーティングをネストする場合。 resources :board, only: %i[ind…

【rails】carrierwaveを使って画像アップロード機能を追加する

はじめに railsアプリにcarrierwaveを使って画像アップロード機能を追加する方法について 設定方法 まず、Gemfileにcarrierwaveを記載して、bundle installします。 gem 'carrierwave' 続いて、下記コマンドでアップローダーを生成。 $ rails g uploader <カ…

railsのタイムゾーンを日本時間に変更する

はじめに railsアプリのタイムゾーンの設定を日本時間に変更する方法について 設定方法 config/application.rbファイルを以下のように変更します。 module RunteqNormal class Application < Rails::Application config.time_zone = 'Tokyo' # アプリのデフ…

railsのn+1問題をincludesで対策

はじめに railsアプリケーションで起こる、n+1問題をincludesを使って対策する方法について n+1問題とは n+1問題とは、1回のアクセスでいいのに何回もデータベースにアクセスしてしまい、 それによってページの読み込み速度の低下などにつながってしまうこと…

Fakerを使ってseeds.rbファイルにテストデータを定義する

はじめに Fakerを使ってデータを作成する方法について seeds.rbは、アプリケーションの挙動などを確認するために必要なテストデータを定義しておくファイルです。 rails db:seedを実行することで、そのファイルに定義しているテストデータを一気に生成できま…

railsにdecoratorを導入して使う

はじめに railsにdecoratorを導入して使う方法について decoratorの設定方法 デコレーターとは、主にモデルに関連するビューのロジックをおいておくための補助機能のようなものです。 ビューに直接メソッドを書いたりモデルに書いたりすると、コードが肥大化…

【rails】フラッシュメッセージの設定

はじめに フラッシュメッセージの設定について フラッシュメッセージの設定 Bootstrapに用意されているスタイルのフラッシュ一覧 :alert, :notice ※デフォルト :success, :info, :warning, :danger applicationコントローラに下記のadd_flash_typesを定義す…

railsにi18nを導入して日本語化対応にする

はじめに rails-i18nというgemを導入してアプリケーションを日本語対応にする方法について i18nを導入する方法 まずはGemをインストールします。 gem 'rails-i18n' $ bundle install このGemをインストールすることで、エラーメッセージや一般的な言葉などに…

railsにsoeceryを導入してログイン機能を実装する

はじめに soeceryを導入してログイン機能を実装する方法について soeceryの導入方法 gem 'sorcery' まずはGemfileに上記のような記載をしてインストールします。 $ bundle install $ rails g sorcery:install Userモデルやマイグレーションファイルが作成さ…