0

次のような Pages というモデルを取得しました。

title
description
image_id
background_image
logo

次のような Images というモデルも取得しました。

id
title

私ができるようにしたいのは、これら 3 つのフィールドを画像モデルに関連付けることです。

image_id
background_image
logo

Page モデルの関連付けにより、image_id は完全に機能します。

has_many :images

background_image とロゴを使用するにはどうすればよいですか? 私の質問が意味をなすことを願っています。ありがとう

アップデート ここに画像の説明を入力

4

1 に答える 1

0

Pageモデルでは、 を使用しbelongs_toて、へのポインターが含まれていることを指定する必要がありますImage。最初のものについては、それはちょうどbelongs_to :image.

ただし、3 つのポインターが必要です。出来るよ; belongs_to他の各フィールドについて、 を指していることを指定するオプションを追加しますImage:class_name次のように、オプションを使用してそれを行います。

belongs_to :logo, :class_name => 'Image'

また、列の名前_idの末尾に「background_image_idand 」をlogo_id付けると、Railsy らしくなります。

これらはすべて、Rails ガイドに記載されています。:class_nameオプションは特にここにあります。

于 2012-10-19T20:12:06.157 に答える