学習記録

アウトプット用に作りました

2021-03-01から1ヶ月間の記事一覧

RSpec 課題4で参照したサイト

タブの移動 Selenium + Capybaraで target="_blank" をテストする - Qiita Capybaraと仲良くなる(タブ・ウィンドウの操作について) - Qiita traitについて FactoryBotのtraitでリレーション先のModelのtraitを使って設定することができる - コード日進月歩…

RSpec 課題3で参照にしたサイト

読み込むgemについて。 サポートが終了したchromedriver-helperからwebdrivers gemに移行する手順 - Qiita 読み込むgemとcapybaraについて。 【Rails】『RSpec + FactoryBot + Capybara + Webdrivers』の導入&初期設定からテストの書き方まで | vdeep ログ…

RSpec 課題2で参照したサイト

FactoryBotのテストデータ使うときに使用。 factoryBotの{ }はどういう挙動になるのか - その辺にいるWebエンジニアの備忘録 --format documentationの知識。 RSpecには表示の出力をキレイにする --format documentation というオプションがある - コード日…

メニュータブのアクティブ・非アクティブを設定する

アクティブ・非アクティブとは、今自分がいるページのメニュー名をアクティブにします。 例えばTwitterのサイドメニューでも使われている機能です。 画像では「通知」のページを開いているので、「通知」がアクティブになっています。 実装方法 Railsでアク…

ransackを使ってプルダウンのセレクトボックスを作る

以前ransackを使った基本の検索機能の作り方をまとめていました。 ransackを使って検索機能を実装する - 学習記録 またransackを使った日付検索の機能の実装についてもまとめてあります。 ransackを使った日付検索 - 学習記録 今回は下記のようなプルダウン…

ransackを使った日付検索

以前更新したransackに関してのブログ。 ransackを使って検索機能を実装する - 学習記録 predicateの種類 predicateとは「述語」という意味です。 (カラム名を)どのように検索するのかを指定するときに使えます。 ransackでは下記の方法を使って検索の範囲等…

enumをi18n対応させるenum_helpを導入する

enumとは 数字を値と紐付けているようなデータの管理をしたいときに使います。 例えば管理者権限の有無を管理する場合などに使うことができます。 (user.rb) enum role: { general: 0, admin: 1 } このように、数字で管理をしているだけだと、わかりづらいで…

ページタイトルの出力

記事タイトルとは、このような各ページの名前のことです。 ここでは、「ブログの記事名 - ブログ名」 という形で出力されています。 この表記がどのように書かれて出力されているのかを説明していきます。 まず各ページに同じタイトルを表示させるには、 app…

configを導入して環境ごとに定数を管理する

configとは定数管理のGemです。 定数を管理する箇所が1箇所にまとまるのでメンテナンスが楽になります。 使用方法 gemfileに追加後、インストールします。 使用するファイルが生成します。 rails g config:install ※gitignoreに自動で下記の内容が追加されま…

letter_opener_webを導入

開発環境で毎度メールが送られてしまうと面倒なので、 開発環境でのみletter_openerを導入します。 開発中にrailsから送信したメールを確認することができます。 使用方法 Gemfileにletter_opener_webを追加してインストールします。 ここで注意しなくてはい…

ActionMailerを使用

ActionMailerとは railsにデフォルトで備わっているメール送信機能です。 app/mailers配下にメール送信用のメソッドが作成され、 app/views/メーラー名配下にメールの文言ファイルが作成されます。 通常のテキストメール送信に加え、HTMLメールが送信できた…

Sorceryで用意されているサブモジュール

ユーザー認証用に導入したgemのsorceryには、 単純なパスワードによる認証機能に加えて様々なモジュールが用意されています。 使いたい機能をサブモジュールとしてインストールしていき、 それを元に自分たちで処理を書いていくという方式を取っています。 U…

ransackを使って検索機能を実装する

ransackとは Railsで検索機能を実装する場合に使用するgemです。 使い方 gemfileにgem 'ransack'を導入して、bundle installします。 gemを新たに追加した時は、サーバーを再起動させる必要があります。 まずコントローラを作成していきます。 def index @q …

kaminariを使ってページネーションを実装

ページネーションとは 1つのページに掲載するコンテンツが多くなってしまった時、 複数ページに分けて表示させるようにしたものです。 下記のような1,2,3,4,.....のようなものです。 railsではkaminariを使って、ページネーションを実装することができます。…

jQueryで要素を追加するメソッド

append 親要素(div)の中の、子要素の最後に指定要素やテキストを追加します。 HTML <div class="sample"> <h1>あいさつ</h1> <p>こんにちは</p> <p>こんばんは</p> </div> jQuery $('div').append('<p class="add">子要素pの後ろに追加</p>'); 結果 <div class="sample"> <h1>あいさつ</h1> <p>こんにちは</p> <p>こんばんは</p> <p class="add">子要素pの後ろに追加</p> </div> prepend 親要素(div)の中…

Ajaxを実装する

Ajaxとは Webブラウザ上で非同期通信を行い、ページの再読み込みなしに ページを更新するためのJavaScriptのプログラミング手法です。 Ajaxを使うことで、スムーズな操作を行うことができます。 いいね機能を実装するときを例に説明します。 Ajaxを使わない…