STUDY MEMO

学習のメモ書き

<Rspec> バリデーションテストについてのメモ

前提 FactoryBot validとerrorsの順番 バリデーションテスト 参考・引用文献 前提 Gemfile group :development, :test do ... gem 'rspec-rails', '~> 4.0.2' gem 'factory_bot_rails' end schema.rb create_table "tasks", force: :cascade do |t| t.string…

<Rspec> .rspecのへの--format documentationの記載について

RSpec の出力をデフォルトの形式から読みやすいドキュメント形式に変更する設定。 これによってテストスイートの実行中にどのスペックがパスしたのかわかりやすくなる。 テストスイートとは? ソフトウェアの目的や対象ごとに複数のテストケースをまとめたも…

<Ruby on Rails> Githubにgemをチェックインしない方法

.gitignoreへの設定 gemの保管先の指定 --path vendor/bundleをつけ忘れた場合 参考文献 .gitignoreへの設定 githubにgemfileとgemfile.lockをインストールしていることから、gem自体のインストールは不要。(push時とても重くなるなどの弊害がある) そのた…

<VSC> ターミナルから開く設定 for Mac

1. vscodeを開く 2. Command Paletteを⇧⌘Pで開く Command Paletteとは? you have access to all of the functionality of VS Code, including keyboard shortcuts for the most common operations. →一般的な操作のショートカットを含むvscodeの機能にアクセ…

rbenvとは

公式の導入部分で以下のように説明されている。 Use rbenv to pick a Ruby version for your application and guarantee that your development environment matches production. Put rbenv to work with Bundler for painless Ruby upgrades and bulletproo…

<Ruby> メソッドメモ

inspect 参考文献 getsメソッド 参考文献 pメソッド 参考文献 even?メソッド 参考文献 inspect オブジェクトを人間が読める形式に変換した文字列を返すメソッド。 railsガイドのarticles_controller.rbにinspectを使用すると以下のような表示になる。 inspec…

<Ruby on Rails> ルーティング:shallowオプション

参考文献:Rails のルーティング - Railsガイド shallowオプション shallowオプションとは、深いネスト(入れ子構造)を避けるためにcollectionだけを親のスコープ下で生成させるオプションのこと。 idを含めないアクション(collection):index/new/create id…

<Ruby on Rails> content_forとyieldを使用したtitleの設定

titleの設定 1. ページタイトルを設定したいviewページの冒頭に以下を設定 contact_forで:titleに任意の語句を入れ、yield(:title)に渡す。 content_for(:title, ':titleに入れたい語句') # contact_forではなくprovideでも可 2. application_helperにpage_t…

<Ruby on Rails> migrationの管理

マイグレーションの実行 migrationの状態を確認 最新のversionを確認 状態確認 マイグレーションの実行 実行されていないchangeアタはupメソッドを実行する。 マイグレーションの実行順序は日付に基づく。 # マイグレーションを実行するrailsコマンド。db:sc…

<Ruby on Rails> Active Record の関連付け

belongs_to 作成されるモデルクラス 作成されるmigrationファイル 作成されるschemaファイル has_one has_one :through has_many has_many :through Physician視点 Appointment視点 Patient視点 has_and_belongs_to_many has_and_belongs_to_manyとhas_many …

<Ruby on Rails> 画像のアップロード

使用したgem 工程 1. carrierwaveとmini-magickをbundle install 2. uploaderを作成 3. uploaderファイルに以下を設定 4. カラムに画像を追加 5. form_withタグをviewファイルに記載 6. controllerのstrongパラメータを画像データを入力できるように設定 7. …

<ターミナル> ターミナル表示の設定方法

1. oh-my-zshをインストール 2. .zshrcファイルの名前変更 3. ターミナルのレイアウトを変更 最後に 現在のブランチを調べるのにgit branchを毎回やることが面倒だと思ったので表示を変更。 以下の記事を参考にした。 nishinatoshiharu.com 流れを抜粋すると…

<ターミナル> エイリアス設定

bundle execを毎回打ち込むのが面倒だったので、以下の設定で"b"という入力で実行できるようエイリアスを設定。 # .zshrcを開く(vimでもできる) open ~/.zshrc #.zshrcに以下を入力 alias b='bundle exec'

<Ruby on Rails> i18nでの日本語化

ja.ymlファイルを作成 ログイン画面、新規登録画面に設定 ja.ymlファイルを作成 config/locales/activerecord/ja.ymlを作成 ja: activerecord: attributes: user: last_name: 姓 first_name: 名 email: メールアドレス password: パスワード password_confir…

< コマンド > git

gitの履歴 git addする前に変更点を見る git reset関連 git reset --hard git reset --mixed git reset --soft 直前のcommitを修正する リモートリポジトリ関連 リモートリポジトリのURLの変更 リモートのデフォルトブランチを設定 リモートリポジトリの名前…

<Ruby on Rails> コントローラでのRails 国際化 (i18n) API使用

flashの文字を日本語で表示させた。 1.gemを追加し、bundle install gem 'rails-i18n' 2.config/application.rbに以下を追記(class Application < Rails::Application内) config.i18n.default_locale = :ja 3.config/locates/にja.ymlを作成し、以下を記載 j…

<Ruby on Rails> DBの初期化

以下のコードでrails consoleでテスト操作のためにDBに入力したデータを初期化することができる。 基本的にはフォームで入力されるのが望ましいので、rails consoleのデータは基本初期化する。 rails db:migrate:reset

<Ruby on Rails> DBの更新

DBの情報を更新したいとき、2つの方法がある。 パターン1 代入する 更新する情報を個別に代入する。 変数 = find(検索したいレコード番号) 変数.更新したいカラム名 = 更新後データ 変数.save パターン2 updateメソッドを使用する updateメソッドは、ハッシ…

<Ruby on Rails> findメソッドとfind_byメソッド

DBの情報を検索するときに使用するfindメソッドとfind_byメソッドの違いは、以下の通りである。 ・findメソッド 検索に引っかからなかった場合、errorを返す。 ・find_byメソッド 検索に引っかからなかった場合、nilを返す。

<Ruby on Rails> DBへ保存

パターン1 インスタンスを生成してから、saveをすることでDBの反映を段階的に行う。 変数 = モデル名.new(カラム名: データ) 変数.valid? #変数は有効か確認。有効であればsaveが可能。 変数.save パターン2 インスタンス作成とsaveが同時に実行される。 モ…

DB Browser for SQLite

バイナリデータを読めるようにするツール。 以下URLからダウンロードし、cloud9のバイナリファイルをダウンロードすることで、そのバイナリデータを読めるようになる。 ↓ DB Browser for SQLite

<Ruby on Rails> モデルの作成、削除、追加

モデルの作成、削除、追加 作成 削除 追加 参考文献 モデルの作成、削除、追加 作成 モデルを作成するときは、以下のcodeを入力。 rails generate model model名 カラム名:データ型 modelをgenerate後、dbのカラムを作成(migration file作成)するために、以…

<Ruby> シングルクォーテーションとダブルクォーテーションの違い

'は式展開ができず、入力したそのままのものが反映される。 '#{first_name} kaban' => "\#{first_name} kaban" "は式展開が可能 "#{first_name} kaban" => "tuchiya kaban"

<ショートカットキー for Mac> dockに最小化されたアプリを取り出す

以下の手法でdockに最小化されたアプリを取り出すことができる。 ①command + tabで該当アプリを選択 ②optionを押しながらcommandを離す

< git > Githubとherokuにpush

git

同時にpushしたいときは以下のコードを使用。 githubのpushが成功したら、herokuをpushする、ということ。 $ git push origin master && git push heroku master

<Github> 公開鍵の設定方法

①以下のコマンドを入力しする。 基本的に必須の入力部分はないのでenterを押して進める。 $ ssh-keygen ②作成された公開鍵のファイルをcatで開く $ cat ~/.ssh/id_rsa.pub ③開かれたファイルの内容をコピーしてgithubのsettingで設定する setting →SSH and G…

< git > 名前とメールをgitに設定

git

名前を設定 $ git config --global user.name "自分の名前" メールを設定 $ git config --global user.email アドレス

<AWS cloud9> githubの公開鍵の設定について

AWS

AWS cloud9でgithubに公開鍵を設定したが、うまくいかなかった。 原因としては、githubでリポジトリを作成したあとに設定したため、 アプリケーションに登録されているurlがSSHに対応するurlでなかったことが原因と考えられる。 vi .git/configを開く 該当の…

<AWS cloud9> c9 --version

AWS

マウスなしでfileを開くことができるコマンド。 このコマンドを使えるようにするには下記のコードを入力。 $npm install -g c9 ファイルを開けるには下記のようなコードを入力。 マウスなしでファイルを開けることができる。 $c9 ファイル名

<Ruby on Rails> find_byメソッド

特定のidを取得するときに使用するメソッド。 変数名 = モデルクラス名.find_by(id:値)