2012-10-19 47 views
0

更多我有一個叫做頁面模型,看起來像這樣:Rails的模型相關聯的另一個模型不止一次

title 
description 
image_id 
background_image 
logo 

我也得到了一個模型卡列斯圖片,看起來像這樣:

id 
title 

我希望能夠將這三個領域與圖像模型相關聯。

image_id 
background_image 
logo 

image_id完美的作品,因爲頁面模型關聯的:

has_many :images 

如何使其與background_image和標識工作? 希望我的問題是有道理的。由於

UPDATE enter image description here

+0

你的意思是你想通過圖像實例訪問圖像的頁面屬性?你的Image模型中有'belongs_to:page'關聯嗎?這和'委託:background_image,:to =>:page'應該可以做到。此外,不知道爲什麼你想訪問image_id時,它是與image.id相同的值。 –

+0

請參閱更新。 – andkjaer

回答

0

在你Page模型中,你需要使用belongs_to指定它包含一個指向Image。對於第一個,這將只是belongs_to :image

但是你想要三個指針。你可以做到這一點;對於其他每個字段,您都會添加一個選項到belongs_to以指定它指向的是Image。你使用:class_name選項來做到這一點,

belongs_to :logo, :class_name => 'Image' 

你也可能會想與_id末,所以background_image_idlogo_id來命名列 - 它更Railsy的方式。

所有這些都記錄在Rails指南中; :class_name選項特別是here

+0

非常感謝你,像魅力一樣......:O) – andkjaer

相關問題