traitの定義の仕方、呼び出し方
はじめに
10月からRunteqの課題取組中
駆け出しエンジニアです.
日々の学びをアウトプットします.
概要
- データを変更したもの呼び出したい
- 定義の仕方
- 呼び出し方
データを変更したもの呼び出したい
FactoryBotを使用していると、1部のカラムのみ変更したデータを呼び出したいときがある.
そういった時に便利なのがtraitだ.定義の仕方
FactoryBot.define do factory :task do title { 'Task' } status { rand(2) } from = Date.parse("2019/08/01") to = Date.parse("2019/12/31") deadline { Random.rand(from..to) } association :project #上の内容も引き継ぎつつ、カラムの内容は上書き trait :yesterday do status { :done } completion_date { Time.current.yesterday } end trait :tomorrow do status { :doing } completion_data { Time.current.tomorrow } end ・ ・ ・ end end
呼び出し方
done_task = create(:task, :yesterday) doing_task = create(:task, :tomorrow)