人々がこの宝石を使用し、多くの人がそれを愛しているため、これはおそらく初歩的な質問ですが、目的がわかりません。私はプロジェクトを見ていますが、ここではt.references :foreign_key_table_name , :foreign_key => true、 、add_foreign_key :table :foreign_key_table_name, :options、および createなどの場所で何度も使用されていますt.foreign_key :foreign_key_table_name。文脈から外れているため、混乱しないことを願っています。
しかし、これがレールに組み込まれているものとどのように異なるのか、t.references :foreign_key_table_nameまたは単に追加するだけではわかりませんt.integer :foreign_key_table_name_idか? これが「外部キー」であることを明確にすることで、読みやすくするだけですか?その場合は、宝石の代わりにコメントを追加することもできます...私が見る唯一の利点は:dependent、モデルに含めるのではなく、移行などのオプションを移動できることですが、誰が気にしますか?