dev/mom0tomo

技術メモ

2018-10-01から1ヶ月間の記事一覧

FactoryBotとfixturesの比較

Rspecを使ってテストを書いているが、どちらを使うべきかいつもパッと浮かばないのがイヤなので、まとめた。 読んだもの woshidan.hatenablog.com blog.jnito.com 学んだこと fixtures 固定のデータ(都道府県など)がほしいときに使う。 コントローラのテス…

インスタンスメソッドとクラスメソッドの違い

読んだもの qiita.com 学んだこと あるclass(仮に C とする)があるとして、 class C のインスタンスメソッドは,C のインスタンスをレシーバーとするメソッド class C のクラスメソッドは C 自身をレシーバーとするメソッド である。 違いはこんな感じ。 …

【メモ】ストロングパラメータを使うのはどういうときか

読んだもの railsguides.jp 学んだこと 結論 基本的にPOSTやPUTでリソースに変更を加えるときに使う。 ストロングパラメータの目的は、Active Modelに不適切な値が入れられ、それを公開してしまうのを防ぐこと。 そのため、POSTやPUT以外はまず使わない。 ス…

tryとtry!とぼっち演算子(&.)でレシーバがnilのときのエラーに対処する

読んだもの sakurawi.hateblo.jp qiita.com 学んだこと tryとtry!とぼっち演算子(&.)は、レシーバがnilのときのエラーに対処する為に使う。 try user.try(:name) レシーバであるuserがnilでないなら、メソッドを実行する。 レシーバとは、hoge.methodと書…

ビジネスロジックはモデルに書く、とはどういうことか

コードレビューで指摘を受けたので改めて調べてまとめた。 読んだもの https://wa3.i-3-i.info/word13666.html ビジネスロジックとは - IT用語辞典 学んだこと ビジネスロジックとは アプリケーション固有の処理やルールを記述したもの。 「ビジネスロジック…

form_withを使って検索フォームをつくる

form_withを使ってこんな検索フォームを作った。 user/index.html.slim = form_with model: User.new do |form| = form.label :name, '名前' = form.text_field :name, value: (params[:user][:name] if params[:user]) = form.submit '検索する' users_cont…

form_forとform_tagはform_withへ統合された(Rails 5.1)

読んだもの Ruby on Rails 5.1リリースノート | Rails ガイド 学んだこと なんとRails5.1から統合されていた。マジカヨ... form_for : Modelに基づいたformを作るときに使う form_tag : Modelに基づかないformを作るときに使う(検索フォームなど) と覚えて…

Rubyのattr_accessorとは

読んだもの Rubyのattr_accessor, attr_reader, attr_writerとは何か -- ぺけみさお 学んだこと attr_accessor とは、インスタンス変数にアクセスするためのメソッドを定義するメソッドのこと。 プライベート変数に対するセッタやゲッタを自動的にセットして…