なんでかこういうちょっと気の利いたやつは知るとうれしくなってしまう。 マイグレーションでt.integer :tag_idと書くところをt.references :tagと書けるんだってさ。 確かに関連に使うフィールドはintのxxx_idって規約で決まってんだから、いちいちそんなこと書きたくないよね。 「referencesってintegerより長くなって指が絡まりそうだYO!」と言いたくなる衝動は :polymorphic => trueあたりを見てなだめていただきたい。DRY優先。 詳しくは以下。 TableDefinition#references will add an appropriately-named _id column, plus a corresponding _type column if the :polymorphic option is supplied.