2018-09-01から1ヶ月間の記事一覧
Everyday rails Rspecの書籍(P106あたり)を写経してたらエラーで詰まった。 問題 Rspecにおいて、visit root_pathで下記エラー Capybara::DriverNotFoundError: no driver called :selenium_chrome was found, available drivers: :rack_test, :selenium 原…
everyday Rails の「第6章 フィーチャスペックでUIをテストする」の復習用まとめ。 書籍から内容の増減があります。 本章の前提 フィーチャースペックとは、モデルとコントローラが 他の モデルやコントローラとうまく一緒に動作することを確認するテ…
自分の備忘用に記載。 そのため書籍から内容の増減があります。 本章の前提 コントローラのテストは削除、あるいは統合テスト等への移行が推奨 そのため、既存システムでコントローラのテストがある場合に備えて学ぶ 筆者は、コントローラのテストはアクセス…
使い方 create_list(<作成したいファクトリ名>, <作成するインスタンス数>, *<トレイトやオーバーライドしたい項目>) # 戻り値はArray 具体例 create_list(:user, 3, :admin, :male, name: "Jon Snow") adminとmaleはここではtrait nameはオーバーライドさせ…
「Everyday Rails - RSpecによるRailsテスト入門 - 第4章 意味のあるテストデータの作成 」の復習用まとめ。leanpub.com 本章のゴール Factory Botに焦点を当て、 ファクトリの利点と欠点 ファクトリを用いたテスト実装 その他、ファクトリのリファクタリ…
「Everyday Rails - RSpecによるRailsテスト入門 - 第3章 モデルスペック 」の復習用まとめ。leanpub.com 本章のゴール 既存モデルへスペックの追加 バリデーション、クラスメソッド、インスタンスメソッドのテスト記述 テストのリファクタリング モデル…
こちらが詳しい Ruby on Railsで親子関係にあるモデルのルーティング設定 - 戯言メイテル
別になる気はないんだけど... 最近フリーランスエンジニアになろう!という発信を良く耳にするので調査しました。 フリーランスエンジニアの単価を決める qiita.com 要約 フリーランスエンジニアとして、スキルセットと年収およびキャリア構築の目指すべき方…
あとで読むqiita.comqiita.com
参照 Git - git-clean Documentation ファイル変更を取り消す 編集や削除したファイルを元に戻す すでにGitが管理をしているファイルに対する変更や削除を取り消したい場合 git checkout -- . 追加したファイルの取り消し まだGitで管理しておらず、Untracke…
手を動かしながら2週間で学ぶ AWS 基本から応用まで | Udemy
スコープとは何か? Railsガイドの「Active Record クエリインターフェイス」に「14 スコープ」がズバリ railsguides.jp もっと具体的に、実務での使い方を知りたい qiita.com なお、記事内で出てくるArel gemは、公式にRails本体にMergeされるのだそう。そ…
キャリアに関する記事やブログで、参考になったものをまとめています。 エンジニアのキャリアの方向性(クックパッド 舘野さん) techlife.cookpad.com ポイント 記事の中で、エンジニアのキャリアを大きく3つに分類している。 1.経営者(CTOなど)・技術マネー…
エラー発生手順 MySQLをインストール brew install mysql@5.7 brew tap homebrew/services brew services start mysql@5.7 アプリケーションのディレクトリでbundle install git clone <クローン対象のURL> cd <対象ディレクトリ> bundle install 発生したエ…
Githubのmaster以外のブランチを、ローカルに持ってきたい場合 git checkout -b <ローカルのブランチ名> origin/<リモートのブランチ名>例えば、 git checkout -b 01-untested origin/01-untested※書籍「Everyday Rails - RSpecによるRailsテスト入門」の第1…
pオプションを付ける rails s -p <ポート番号>具体例 rails s -p 3001 利用例 複数バージョン立ち上げ時に、すでにポート3000使われてるエラーを回避。 Address already in use - bind(2) for "0.0.0.0" port 3000 (Errno::EADDRINUSE)
参照 solidus Developers Guide - Override views https://guides.solidus.io/developers/views/override-views.html
はじめに 詳細は、Rails tutorial 第10章の「フレンドリーフォワーディング」を参照。 https://railstutorial.jp/chapters/updating_and_deleting_users?version=5.1#sec-friendly_forwardingTutorialですぐに理解できなかったので復習用としてまとめてみま…
リファクタリング前 <ul class="users"> <% @users.each do |user| %> <li> <%= gravatar_for user, size: 50 %> <%= link_to user.name, user %> </li> <% end %> </ul> リファクタリング後 renderにコレクションを渡した場合、Railsはコレクションを列挙してパーシャルで出力する <ul class="users"> <%= rend</ul>…
【方法1】コマンドライン上で確認する方法 rails routes 表示対象を絞り込み、特定のリソースやコントローラのルーティングを表示したい場合は、「| grep <検索キーワード>」を後ろに付ける rails routes | grep users 【方法2】ブラウザ上で確認する方法 こ…
ブレイブ 勇敢なる者「Mr.トルネード~気象学で世界を救った男~」 とにかく私の人生は面白い 安定とは無縁であった 書籍 - Mr.トルネード 藤田哲也 世界の空を救った男 https://www.amazon.co.jp/dp/B071GN6NLM/ref=dp-kindle-redirect?_encoding=UTF8&btk…
認可とは Rails tutorialより 認可 (authorization) はそのユーザーが実行可能な操作を管理すること 機能と実装の方針 未ログインの場合に、ログインが必要なページをリクエストすると、ログインページへ遷移 ログイン済みの場合に、許可されていないページ…
Railsでフォームを記述すると、 データの新規作成時には、POST データの更新時には、PATCH とHTTPメソッドを使い分けていますが、これはどう判断しているのか? 結論 <%= form_for(@user) do |f| %>上記のように渡されたインスタンス(例では@user)がデータベ…
実装方法 aタグに target属性を付け、値を_blankとする rel属性を付け、rel="noopener" <a href="#" target="_blank" rel="noopener">テキスト</a> rel="noopener"を付ける理由 セキュリティ的な理由から付ける。 詳細は下記リンク先をを参照してください。リンクを作る時の target="_blank" の危険性 - 隙あ…
Github Connecting to GitHub with SSH https://help.github.com/articles/connecting-to-github-with-ssh/
はじめに ルーティングをresourcesではなく、直接指定したい場合の方法。 方法 urlを直接指定する場合 route.rb post '/signup', to: 'users#create' form form_forの引数にurlオプションを付ける <%= form_for(@user, url: signup_path) do |f| %> <%= f.la…
1.modelにhas_secure_passwordを追加 class User < ApplicationRecord . . has_secure_password end 2.modelにpassword_digestという属性を追加 マイグレーションファイルの作成 rails g migration add_password_digest_to_users password_digest:string マ…
参考 Active Record の基礎 | Rails ガイド Active Record バリデーション | Rails ガイド presence / 存在性 validates :email, presence: true length / 長さ validates :name, length: { minimum: 5 } validates :email, length: { maximum: 255 } valida…
マイグレーションの作成 rails g migration add_<column_name>_to_<table name> <column name>:<型>例えば、 rails g migration add_favorite_subject_to_users favorite_subject:string マイグレーションの定義 class AddFavoriteSubjectToUsers < ActiveRecord::Migration[5.0] def change add_co</column></table></column_name>…
マイグレーションの作成 rails generate migration add_index_to_<table name>_<column name>例えば、 rails generate migration add_index_to_users_email マイグレーションの定義 一意制約を付与したい場合はuniqueオプションを追加する class AddIndexToUsersEmail < ActiveRecord:</column></table>…