個人的にRailsでよく使うあれこれ
開発環境
共通
プログラミングでよく使う英単語のまとめ【随時更新】 - Qiita
- ここは命名に迷ったときに使えそう
Rails
View
複数のモデルに1つのformで登録する
accepts_nested_attributes_for
が便利(5.1, form_withでも使えそう)- ただし
accepts_nested_attributes_for
はあまりよろしくないらしい- Model と画面上の form が1対1で一致しない場合、どのように実装するのが綺麗なのか? - その他 - clean-rails.org
- 週刊Railsウォッチ(20191105前編)Rails 6のデフォルト設定解説、DHHも消したいaccepts_nested_attributes_for、スライド『実践Railsアプリケーション設計』ほか|TechRacho(テックラッチョ)〜エンジニアの「?」を「!」に〜|BPS株式会社
- moneyfowardさんの記事 - accepts_nested_attributes_forを使わず、複数の子レコードを保存する | Money Forward Engineers' Blog
- Railsで複数モデルを扱うフォームをすっきり書く(Formオブジェクト) - LiBz Tech Blog
formのsubmitのデザインを変更する(BootStrap4)
# before <%= form.submit %> # after <%= form.submit '保存',class: 'btn btn-primary btn-lg my-1 mb-5 px-5' %> # or <%= form.submit class: 'btn btn-secondary' %>
formにbootstrap4を適用する
Model
association(関連付け)
gem
discard(論理削除を実装する)
- 論理削除を実装してくれるgem - 「paranoia」は使用非推奨なので、論理削除に「discard」を使う(Rails) - ryotaku's Tech Blog
RSpec
describe, context, it(条件分岐)の使い方
よく忘れるのでメモ - RSpec コントローラのテストの書き方まとめ - Qiita
- describe : テスト対象が何か
- context : 条件は何か (with or whenから始める)
- it : アウトプットは何か
# e.g. showアクション describe "GET show" do context "when @book.author present" do it "render assings author to @author" end end