[解決済み] ファクトリーガールでhas_and_belongs_to_manyのアソシエーションを作成する方法
2022-08-15 18:09:04
質問
次のようなものがあります。
class User < ActiveRecord::Base
has_and_belongs_to_many :companies
end
class Company < ActiveRecord::Base
has_and_belongs_to_many :users
end
会社とユーザーのファクトリーを双方向の関連付けを含めてどのように定義するのでしょうか?以下は私の試みです。
Factory.define :company do |f|
f.users{ |users| [users.association :company]}
end
Factory.define :user do |f|
f.companies{ |companies| [companies.association :user]}
end
今、私は
Factory :user
ファクトリーが自分自身を定義するために再帰的にお互いを使用するため、おそらく驚くことではありませんが、これは無限ループになります。
必要なファクトリーを定義するためのパターンがあるのでしょうか、それとも私が何か根本的に間違ったことをしているのでしょうか。
どのように解決するのですか?
Factorygirl はその後更新され、この問題を解決するためのコールバックが含まれるようになりました。以下をご覧ください。 http://robots.thoughtbot.com/post/254496652/aint-no-calla-back-girl をご覧ください。
関連
-
[解決済み】Rails: sudo "コマンドが認識されないのはなぜですか?
-
[解決済み] デバイスを使用する現在のユーザーメソッド
-
[解決済み] RailsのRootディレクトリのパス?
-
[解決済み] Railsでpng画像を文字列形式で表示するには?
-
[解決済み] Railsで `before_action` での `only:` はどのように機能するのですか?
-
[解決済み] railsでhidden fieldタグを使用する方法
-
[解決済み] 属性とカラムの違いは何ですか?
-
[解決済み] Ruby on Railsのマイグレーションでデータベースのカラムの名前を変更するにはどうすればよいですか?
-
[解決済み] Rubyでnilとemptyとblankを理解する方法
-
[解決済み] ファクトリーガールとRspecのコールバックのスキップ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】取得中。「プロジェクトのクローンとマイグレート後に、「マイグレーションは保留中です。この問題を解決するには 'bin/rake db:migrate RAILS_ENV=development' を実行してください。
-
[解決済み】Rails。Ruby on Railsの移行でデータベースカラムの名前を変更するにはどうすればよいですか?
-
[解決済み】gemのインストールができない - gemネイティブ拡張の構築に失敗 - そのようなファイルをロードできない -- mkmf (LoadError)
-
[解決済み] pg gem をインストールしようとすると 'libpq-fe.h' ヘッダが見つからない
-
[解決済み] rake db:migrateを使って1ステップだけロールバックする方法
-
[解決済み] 該当するルートがない [GET] "demo/hello"
-
[解決済み] PG::ConnectionBad - サーバーに接続できませんでした。接続が拒否されました。
-
[解決済み] railsで':remote => true'はどのように動作するのでしょうか?
-
[解決済み] RubyとRailsの "Date.today "フォーマット
-
[解決済み] Heroku Error R14 (Memory quota exceeded): How do I solve this?