ITの隊長のブログ

ITの隊長のブログです。Rubyを使って仕事しています。最近も色々やっているお(^ω^ = ^ω^)

Railsのassociationでaliasをつける方法とFactoryBotのassociationでaliasをつける方法

スポンサードリンク

概要

  • ハマったので調べたメモ

Rails

qiita.com

  • ~/app/models/user.rb
  • ~/app/models/book.rb

user:bookは 1:N とする

user側はhas_manyになるが、book側はbelongs_toになる。

belongs_to :user, foreign_key: 'user_id'

aliasに変更したい場合は、こう

belongs_to :borrow_user, class_name: 'User', foreign_key: 'user_id'

class_name にターゲットのモデル名を渡してあげたらおk

注意点として、aliasをつけたので、 find とか使う先に指定する名前はaliasを指定する必要があります

FactoryBot

www.rubydoc.info

Railsと同じかしら?と思ってましたが、違ってたのでハマりました。ドキュメント読みましょう(戒め)

色々書き方はありそうですが、僕はこうしました。

borrow_user { association :user }