Dai

Docker

Docker Docker は、アプリケーションやOSの開発配信を行うためのコンテナを利用した基盤ソフトウェア Dockerコンテナ 分離された名前空間とアプリケーションの実行環境 ライブラリなどの実行環境全体をパッケージ化し、それらをOSの分離された空間で実行する…

【Grid CSS】ヘッダー、サイドバー、コンテンツ、フッターのレイアウト

同じレイアウトをgrid columns/rowsとgrid areaを使用する2つの方法で試してみました。 完成 使用するHTML <body> <div class="container"> <header class="header">ヘッダー</header> <aside class="side">サイドバー</aside> <div class="content">コンテンツ</div> <footer class="footer">フッター</footer> </div> </body> grid columns/rowsを使用したCSS .container { min-hei…

よく使われているkaminariを使ってみた。

前へ・次へkaminariを試すためのrailsアプリを作成する。 $ rails new try_kaminari -d mysql $ rails db:create $ rails db:migrate Gemfileに以下を記載し、kaminariの導入する。 gem 'kaminari' $ bundle install postモデルの作成 $ rails g model post …

【RSpec rails】 タスクの一覧表機能のsystemテストコード

テストすること ユーザー1のタスクが画面上に表示されることを確認する ユーザー1のタスクがユーザー2に表示されていないことを確認する(作成者のみに表示) はじめに、FactoryBotでタスクのテストデータを作成できるようにしておきます。 ユーザーのテストデ…

【rails】destroy_allメソッドで指定したすべてのデータを一括で削除する

指定した親データのコメントをすべて削除する routes.rb Rails.application.routes.draw do devise_for :users root "parents#index" resources :parent do resources :comment do # collectionでdestroy_allアクションへのルーティングを設定 collection do…

【Ruby on Rails】deviseのdevise_parameter_sanitizerメソッドを使って追加したカラムを許可する

標準のdeviseに含まれているemailとpasswordに加えてnicknameを追加する nicknameカラムを追加する ## マイグレーションファイル t.string :nickname, null: false ##追加 t.string :email, null: false, default: "" t.string :encrypted_password, null: f…

【JavaScript】サイドバー開閉操作

クラス名を変更してサイドバー開閉を操作するコード CSS /* オーブン状態 */ .side-open { width: 200px; overflow: scroll; } /* クローズ状態 */ .side-close { width: 0px; overflow: hidden; } JavaScript 引数で受け取ったHTML要素のクラス名をside-ope…

【JavaScript】特定のページのみイベント発火

URLの一部とマッチしていたらイベント発火をし、処理されるようにする if (document.URL.match(/URLの一部/)) { const foo = document.getElementById("btn"); foo.addEventListener("イベント", () => { //処理 }); } これを使うと、特定のアクションのとき…

【JavaScript】ボタンワンクリックですべてのリンクを新しいタブで開く機能

JavaScript // DOM操作 function getBtn() { const openBtn = document.getElementById("all-open"); openBtn.addEventListener("click", allOpen); } // すべてのリンクを開くメソッド function allOpen() { const allItems = document.querySelectorAll(".…

【AWS】画像の保存先をS3にする。(Railsアプリ)

画像の保存先をS3にする gemをインストール Gemfile gem 'aws-sdk-s3', require: false ターミナル $ bundle install 開発環境での画像の保存先をS3に変更 # config/environments/development.rb config.active_storage.service = :amazon storage.ymlの編集…

【RSpec-rails】ユーザーモデル単体テストコード

はじめにrspec-rails、factory_bot_rails、fakerを導入する # Gemfile group :development, :test do gem 'rspec-rails' gem 'factory_bot_rails' gem 'faker' end ターミナル$ bundle install、rails g rspec installを行う。作成された.rspecファイルに--f…

【rails】RSpecの基本構造

RSpecの基本 基本構造 RSpec.describe "説明の対象を記述" , type: :対象のタイプ do it "何を説明するか" do "テスト" end end Userモデルを説明の対象とする場合 #spec/models/user_spec.rb RSpec.describe "User" , type: :model do it "何を説明するか" …

【rails RSpec】単体・結合テストコードの準備をする。必要なgemの導入とインストール

RSpecのインストール gemの導入 1.gem rspec-rails 2.gem capybara -ブラウザを再現するのに必要なgem。railsでは、デフォルトでインストールされているため今回は記述不要 今回、テストコードは開発中にのみ使うため、本番環境のproductionを除くdevelopmen…

【rails】【 gem devise】の導入手順とよく使う便利なメソッドたち。Railsアプリでユーザー管理機能(新規登録・ログイン機能)の実装の準備をする。

devise導入の手順 Gemfileでgem 'devise'と記入し、ターミナルでbundle installとしてdeviseのgemを導入する まだdeviseが使えない状態なので、ターミナルでインストールする % rails g devise:install userモデルの生成 % rails g devise user ビュー画面の…