Enter!バッチを起動しようと勢いよくキーを叩いたら、それはシフトキーだった。itmammothTweetタイトル読んでも「ちょっと何言ってるか分かんない」感じだが、要するにhas_oneやhas_manyで親子関係を持つモデルがあったとして、子のファクトリ生成時に親側の属性も設定するという話(その逆もしかり)。例たとえばUserクラスとConfigクラスがあったとして、それぞれ次のような関連を持ってるとする。:userend各ユーザーが各々設定を持つというシチュエーションを想定している。この場合に親のファクトリをcreate(:config)のような感じで作るときに、まとめてUser側の属性も設定したいということ。通常の書き方だと、Configのインスタンスを得るにはこんな感じになるはず。'...')).configそれを次のように書けるようにする。})「なんだ、ほとんど変わんねえじゃねーか」とお思いになるかもしれない。前者は、Configのインスタンスが欲しいんだということがひと目で分からない。してるのもいささか冗長だ。後者の方がテストの関心がConfigにあることが一目瞭然だし、タイプ量も少なくてすむ。細かいことだけど、こういうのって結構大事だと思うんだな。ファクトリ定義で、肝心のファクトリの定義だが、私はこんな感じに定義している。endenduserをtransientにしておきuserの属性(Hash)を渡してもらう。after(:build)の中でuserのファクトリに横流してbuildしているのでuserのファクトリ定義を上書きすることができるというわけ。親から子の属性を設定する場合も同様の方法が使えると思う。これがベストの解かは分からない。いい方法があれば教えて欲しいッス。返信をキャンセルメールアドレスが公開されることはありません。名前*メール*サイト上に表示された文字を入力してください。コメントデータの処理方法の詳細はこちらをご覧ください。検索:プロフィールitmammothIT界のマンモスを目指しているフリーエンジニアです。麻婆豆腐/Ruby/Kotlin/麻婆春雨/Python好きです。最近カリフラワーも好きになりました。