6時だョ!!全員集合!!

Rails・JavaScrictを中心にアウトプットします。

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

2021年9月30日 現場Rails Chapter5 Rspecの基本形

Spec(テスト)の書き方 Rspecでは、以下の基本フォーマットに従ってSpec(テスト)を書きます。 # テスト対象 describe '〜機能', type: :system do # 条件下で想定する動作 context '〇〇の場合' do before do # テストコード実行前に実行する処理(前提条件)…

2021年9月28日 現場Rails Chapter5 テストをはじめよう

テストについて 動作を確認する方法として、一般的には以下の3パターンが挙げられます。 1. コンソールでメソッドを呼び出す 2. Webサーバ起動後に、ブラウザを操作して確認する 3. 自動テストを書く この章では3つ目の「自動テストを書く」について深ぼっ…

2021年9月27日 現場Rails Chapter8 React

Reactとは Facebook社が開発しているJavaScriptのUIライブラリです。Reactは仮想DOMと呼ばれるデータ構造をメモリ上に持ち、ページ変化の差分のみをレンダリングすることで効率的にページを表示・更新する事ができるという特徴があります。 ※UIライブラリと…

2021年9月24日 現場Rails Chapter8 Webpacker

Webpackerとは? JavaScriptのビルドツールである「Webpack」のラッパーで、Webpackを使ってJavaScriptを管理することを簡単にしてくれるGemです。 Railsアプリケーションを新規作成する時にWebpackerを導入する方法 rails new コマンドのオプション「--webpa…

2021年9月23日 現場Rails Chapter8 npmについて深掘りしました

先日の続き ※先日学んだJavaScriptのパッケージマネージャーであるyarnとnpmで、yarnはアウトプットしたので今回はnpmについて学んでいきます。yarnはnpmを改造して作られたものなので根幹は同じという認識です。 npmとは? npmは、Node.js 関連のパッケージ…

2021年9月22日 bundle installとbundle updateについて気になることをさらに深掘りました

※先日のブログ記事の内容を一部転載し補足しています。 bundle install と bundle updateの違い bundlerをインストールすると、bundle installとbundle updateのコマンドが使えるようになるのですが、「そもそもそれらのコマンドの違いって、何?」と思った…

2021年9月21日現場Rails Chapter8 Turbolinks

Turbolinksを無効化する Turbolinksには高速化できるというメリットがある反面、ブラウザのページ遷移が発生しないなどのデメリットもあります。そのため、Turbolinksの性質をよく調べてから、使うようにしましょう。 Turbolinksをよく知らない場合は、無効…

2021年9月20日現場Rails Chapter8 Turbolinks

Turbolinksとは? 全てのリンクに対するページ遷移を自動的にAjax化する事で、ページ遷移を高速化する仕組みです。Turbolinks自体はJavaScriptのライブラリとして提供されていますが、Railsでは利用しやすいようにGemとしてrals newすることでデフォルトで組…

2021年9月18日 git resetとgit revertについて

git resetコマンド 間違えて"git add"、"git commit"をした場合、"git reset"を行うことでそれらの操作をなかったことにできます。コミットidを指定すると、指定したコミットまで戻ります。 resetはコミットIDを指定したコミット時点まで戻るが指定したコミ…

2021年9月17日 GitとGitHub

Gitとは? ソースコードをはじめとしたファイルの変更履歴(バージョン)を管理することを「バージョン管理」と呼びます。 ファイルの追加や変更の履歴情報を管理することで、過去の変更箇所を確認する、特定時点の内容に戻す、などの「バージョン管理」とい…

2021年9月16日 現場Rails Chapter8-2-2 AjaxでRailsサーバーと通信する

前回はクライアント側でイベントハンドラとして用意してあったJavaScriptコードを実行してタスクを非表示にしていましたが、今回はAjax通信をした後にAjaxのリクエストボディにJavaScriptコードを返却してそれをブラウザ側で実行するという方法で削除機能の…

2021年9月15日 現場Rails Chapter8-1 JavaScriptでページに変化をつける

ページが読み込まれてからJavaScriptを実行する方法 ページが読み込まれてからJavaScriptを実行する方法は、2種類存在します。Turbolinks機能を有効にしていない場合と、有効にしている場合です。以下に、Turbolinks機能を有効にしていない場合のコードを記…

2021年9月14日 現場Rails Chapter7 非同期処理や定期実行を行う(Jobスケジューリング)

非同期処理とは? 非同期処理とは、あるタスクが実行している際に同時にバックグラウンドで他のタスクを実行できる方式です。 例えば、処理が重く時間が掛かるタスクを非同期処理として裏で動作させ、ユーザーに見える処理では処理の受付だけを行わせること…

2021年9月10日 現場Rails Chapter7-7 ページネーション

9/9朝会の続き 前回にモデルファイルで実装したimportメソッドを使用して CSVデータをインポート出来るボタンを実装していきます。 # app/controllers/tasks_controller.rb def import current_user.tasks.import(params[:file]) redirect_to tasks_url, not…

2021年9月9日 現場Rails Chapter7-6-2 CSVデータを入力(インポート)する

CSVデータをインポートする際に使われるメソッド Csv.foreach 1行ずつ処理をするため、行数が多いCSVファイルを扱う場合でもメモリ使用量を気にしないで使えます。 slice 引数で指定されたキーとその値だけを含む Hash を返します。 to_hash to_hashメソッド…

2021年9月7日 現場Rails Chapter7-5-4 ファイルをアップロードしてモデルに添付する

Active Storageとは何? Railsガイド(Active Storageの概要)には以下のように書かれています。 Active StorageとはAmazon S3、Google Cloud Storage、Microsoft Azure Storageなどの クラウドストレージサービスへのファイルのアップロードや、ファイルをAct…

2021年9月7日 現場Rails Chapter7-5-4 ファイルをアップロードしてモデルに添付する

Active Storageとは何? Railsガイド(Active Storageの概要)には以下のように書かれています。 Active StorageとはAmazon S3、Google Cloud Storage、Microsoft Azure Storageなどの クラウドストレージサービスへのファイルのアップロードや、ファイルをAct…

2021年9月6日 現場Rails Chapter7 メールを送る

9/4の朝会の続き 送信処理の実装 前回はメールのテンプレートと送信するためのメソッドを定義したため、今回は送信する処理を記述します。タスクの登録処理と合わせてメールを送信する実装にしたいため、tasksコントローラのcreateアクションに送信処理を書…

2021年9月4日 現場Rails Chapter7 7-2一覧画面に検索機能を追加する

greater than or epual _gteqと略して書けます。 登録日時を指定検索した時に出力されたSQL SELECT DISTINCT "tasks".* FROM "tasks" WHERE "tasks"."user_id" = $1 AND "tasks"."created_at" >= '2018-07-19 15:00:00' ORDER BY "tasks"."created_at" DESC …

2021年9月3日 現場Rails Chapter7 7-2一覧画面に検索機能を追加する

7-2-1 Ransackのインストール Ransackとは? 検索機能を作成できるGemのことです。簡単な検索や複雑な検索のフォームを簡単に作成することができます。Gemfile内に以下のように記述します。 gem 'ransack' ターミナルでbundle installを実行してインストール…

2021年9月2日 現場Rails Chapter7(7-1-2 新規登録画面からの遷移先を変える)

form要素内のsubmitボタン form要素内のsubmitボタンを押すと、以下の挙動が実行されます。 現場Rails P.289 form要素内のsubmitボタンが押されると、パラメータに、押されたボタンのname属性の値をキーとしてキャプションが格納されます。 例) f.submit '戻…