Rails模型不止一次地关联另一个模型

时间:2012-10-19 19:18:16

标签: ruby-on-rails-3

我有一个名为Pages的模型,如下所示:

title
description
image_id
background_image
logo

我还有一个模型calles图像看起来像这样:

id
title

我希望能够将这三个字段与图像模型相关联。

image_id
background_image
logo
由于页面模型关联,

image_id完美地运行:

has_many :images

如何使用background_image和徽标?  希望我的问题有道理。感谢

更新 enter image description here

1 个答案:

答案 0 :(得分: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