Ruby on Rails Guideでは、imageable
モデルですか? imageable
データベーステーブルはありますか?
Employee と Product のimageable_id
2 つの異なる属性をどのように示していますか?id
Ruby on Rails Guideでは、imageable
モデルですか? imageable
データベーステーブルはありますか?
Employee と Product のimageable_id
2 つの異なる属性をどのように示していますか?id
いいえ、リンクしたページでは、imageable は従業員または製品への多態的な関連付けを表します。ポリモーフィック アソシエーションが機能するためには、データベースの「imageable_type」エントリと、それぞれのオブジェクトの ID (imageable_id )。
たとえば、データベース内の imageable_type => 'Employee' および imageable_id => '4' のエントリ。ActiveRecord は、従業員テーブルの ID 4 に対する関連付けであると判断します。
imageable_type は、レールがモデルがどのクラスに属しているかを理解するのに役立ちます。使用する場合はモデルを生成している間imageable:references
、レールは移行で imageable_id および imageable_type 列を自動的に生成します。
Imageable はモデルではありません。一部のモデル (この場合は従業員または製品) のプレースホルダーです。
imageable_id
さまざまな種類の ID を指す方法は、Picture にもimageable_type
属性があることです。Picture の特定のインスタンスについて、imageable_id
そのimageable_type
.