rails書いててあーなんだっけってよくググったり、レビューしててこんな感じでってリンクをコピペする時に使う自分用のメモ
- decoratorとか共通化できるやつはconcernにして欲しいとき
- クラス継承する時に継承先でメソッド定義して欲しいとき
- created_atでorder byしてるのを見つけた時
- enumの数字で取りたい時とか比較したい時
user.role_before_type_cast
> 1
[User.roles[:general], User.roles[:special]].exclude?(@user.role_before_type_cast)
- sortしたい場合
k.sort { | a, b | a.updated_at <=> b.updated_at }
# 指定したid順にsortしたいとき
key = ['333','1000','1','11']
k = Keyword.where(id: [333,1000,1,11])
k = Keyword.where(id: key).order(['field(id, ?)', key]) # 333,1000,1,11の順番で出力したい
- specでchangeをつなげるとき
+ it do
+ expect { subject }.to change { User.all.size }.from(1).to(0)
+ .and change { UserProfile.all.size }.from(1).to(0)
+ end
- modelの差分を取り出す時
Model.previous_changes
(Model.change?だとsaveが走ったらもう取れない)
開発してる時にあったらいいgem
🍣 cat config/initializers/rails_footnotes.rb
defined?(Footnotes) && Footnotes.setup do |f|
f.enabled = Rails.env.development?
f.lock_top_right = true
end
ちょいちょい見るスライド