2021-01-01から1年間の記事一覧
はじめに 自分が使っている言語のコメントアウトの方法のメモ html css /* コメントアウト */ javascript 一行の場合 // コメントアウト **複数行の場合 /* コメントアウト コメントアウト */ ruby 1行の場合 # コメントアウト 複数行の場合 =begin コメン…
はじめに railsでjQueryを使ってタブメニューを実装した際に、リロードしないとjQueryが動かない現象が起きたのでその対処法について。 原因 原因はrailsにデフォルトでインストールされているturbolinksというgemです。 このgemはjavascriptなどの変換等を…
はじめに jQueyを使ってタブメニューを作る方法について HTML まずはhtmlを下記のように記述します。 <ul class="tab-title"> <li class="tab tab-active">タブタイトル1</li> <li class="tab">タブタイトル2</li> <li class="tab">タブタイトル3</li> </ul> <div class="tab-contents"> <div class="tab-body body-active"> <p>コンテンツ1</p> </div> <div class="tab-body"> <p>コンテンツ2</p></div></div>
はじめに 掲示板のようなアプリの一覧画面などで、本文の最初の部分だけを表示させたい時の方法についてご紹介します。 こんな感じにするやつ↓ 掲示板のようなアプリの一覧画面などで、 本文の最初の部分だけを表示させたい時の方法について ご紹介します。…
はじめに railsでtextareaを使って比較的長い文章を入力してもらったとき、 それをビューで表示しようとすると、改行も空白も無視されてすごく読みづらくなってしまったので、 その対処法についてご紹介します。 問題点 例えば、下記のようなtextareaがあっ…
はじめに rails6系にwebpackerを使って、bootstrap5をインストールして使おうとしたときにclassで指定したデザインが反映されなかったので、 サーバーのログを確認してみたところ、下記のようなエラーが出ていました。 Module not found: Error: Can't resol…
はじめに Rails6系からは「yarn + webpacker」でBootstrapを導入するのが標準のようなので、こちらの方法で導入していいきます。 設定方法 まずはwebpackerをインストールします。 $ rails webpacker:install ... Webpacker successfully installed 続いて、…
はじめに ローカルとリモートのブランチ名を変更する方法について ローカルのブランチ名の変更 $ git branch -m <既存のブランチ名> <変更後のブランチ名> # 変更したいブランチ名にいる場合は下記でもOK $ git branch -m <変更後のブランチ名> リモートのブ…
ターミナルで隠しファイルも含めて表示する方法 該当のディレクトリに移動してから下記コマンドを実行。 $ ls -a finderで隠しファイルを表示する方法 下記ショートカットキーで、表示・非表示を変更できる。 command + shift + . (コマンド + シフト + ピリ…
はじめに railsでgemmysql2をインストール時に遭遇したエラーの解決法。 エラー遭遇 railsでbundle installを実行したときに下記エラーに遭遇。 Gem::Ext::BuildError: ERROR: Failed to build gem native extension. current directory: /Users/name/worksp…
はじめに gitコマンドのメモ 指定のファイルをステージングエリアから外したい時。 (間違えてgit add -Aとかしてしまったとき) $ git reset <対象のファイル> 上記のコマンドでステージングエリアから対象のファイルを外すことができる。 いらないファイルま…
はじめに PunditというGemを使ってユーザーの権限を管理する方法について。 前提 ユーザーの種類は、管理者(admin)、編集者(editor)、ライター(writer)の3種類があります。 そして、記事(article)を作成、更新、削除する際には、管理者か編集者でないとでき…
はじめに form objectを使って、一度に複数のActiveRecordを保存する方法について form objectとは form objectとはrailsのデザインパターンの一つで、もともとはバリデーションなどをformにまとめて、 複数のモデルから実行できるようにすることでコードを…
はじめに wheneverというGemを使ってcronをセットする方法について 設定方法 まずwheneverというGemをインストールします。 gem 'whenever', require: false $ bundle install 続いて、下記コマンドで設定ファイルを作成します。 $ wheneverize . するとconf…
はじめに rakeタスクはアプリケーションを起動せずに、ターミナルなどから行いたい処理を実行できます。 rakeタスクの設定方法 まず、rakeタスクの処理を設定するためのファイルを作成します。 $ rails g task <タスクの名前> $ rails g task update_article…
はじめに railsアプリにgretelというGemを使ってパンくずリストを作成する方法について 設定方法 まずはGemをインストールします。 gem 'gretel' $ bundle install 続いてgretelをインストールします。 $ rails g gretel:install 上記のコマンドを実行すると…
はじめに sorceryのreset_passwordモジュールを使って、パスワードリセット機能を実装します。 設定方法 まずは、sorceryのパスワードリセットモジュールを導入します。 $ rails g sorcery:install reset_password --only-submodules パスワードリセットに関…
はじめに railsアプリにransackを導入して検索機能を実装する方法について 設定方法 まずはransackというGemをインストールします。 gem 'ransack' 今回は掲示板一覧ページに、タイトルと本文を部分一致検索できるような検索機能を作ります。 コントローラを…
はじめに 掲示板にページネーションを実装する方法について 設定方法 まずはkaminariというGemをインストールします。 gem 'kaminari' $ bundle install 下記のコマンドで`kaminari`の設定ファイルを生成します。 $ rails g kaminari:config デフォルトでは2…
はじめに 掲示板の編集・削除機能について 掲示板の編集・削除機能のポイント edit,update,destroyアクションでは、boardを取得するときには下記のようにcurrent_userを使う。 @board = current_user.boards.find(params[:id]) current_userと関連を使うこと…
はじめに railsアプリでcontent_forを使ってタイトルを動的に出力する方法について タイトルを動的に出力する まず、ヘルパーに下記のメソッドを定義します。 module ApplicationHelper def pages_title(page_title = '') base_title = 'BOARD APP' page_tit…
はじめに railsでルーティングを作成する時、ネストしたあと簡略化するためにshallowオプションをつける 設定方法 postモデルとcommentモデルが1対多数の関係にあり、 わかりやすくするためにルーティングをネストする場合。 resources :board, only: %i[ind…
はじめに railsアプリにcarrierwaveを使って画像アップロード機能を追加する方法について 設定方法 まず、Gemfileにcarrierwaveを記載して、bundle installします。 gem 'carrierwave' 続いて、下記コマンドでアップローダーを生成。 $ rails g uploader <カ…
はじめに railsアプリのタイムゾーンの設定を日本時間に変更する方法について 設定方法 config/application.rbファイルを以下のように変更します。 module RunteqNormal class Application < Rails::Application config.time_zone = 'Tokyo' # アプリのデフ…
はじめに railsアプリケーションで起こる、n+1問題をincludesを使って対策する方法について n+1問題とは n+1問題とは、1回のアクセスでいいのに何回もデータベースにアクセスしてしまい、 それによってページの読み込み速度の低下などにつながってしまうこと…
はじめに Fakerを使ってデータを作成する方法について seeds.rbは、アプリケーションの挙動などを確認するために必要なテストデータを定義しておくファイルです。 rails db:seedを実行することで、そのファイルに定義しているテストデータを一気に生成できま…
はじめに railsにdecoratorを導入して使う方法について decoratorの設定方法 デコレーターとは、主にモデルに関連するビューのロジックをおいておくための補助機能のようなものです。 ビューに直接メソッドを書いたりモデルに書いたりすると、コードが肥大化…
はじめに フラッシュメッセージの設定について フラッシュメッセージの設定 Bootstrapに用意されているスタイルのフラッシュ一覧 :alert, :notice ※デフォルト :success, :info, :warning, :danger applicationコントローラに下記のadd_flash_typesを定義す…
はじめに rails-i18nというgemを導入してアプリケーションを日本語対応にする方法について i18nを導入する方法 まずはGemをインストールします。 gem 'rails-i18n' $ bundle install このGemをインストールすることで、エラーメッセージや一般的な言葉などに…
はじめに soeceryを導入してログイン機能を実装する方法について soeceryの導入方法 gem 'sorcery' まずはGemfileに上記のような記載をしてインストールします。 $ bundle install $ rails g sorcery:install Userモデルやマイグレーションファイルが作成さ…