0

我们有一个带有单表继承的简单站点模型,sites(id, type, title, address)其中类型可以是“家庭”或“办公室”。当我们在 Rails 2.3.5 上时,我们可以做Site.last.title,它会给出标题。但是,在 Rails 3.2.6 上,当我们这样做时Site.last.title,我们将值作为类型列代替。

是否可以获取标题的值而不是类型?

4

1 回答 1

0

如果要获取表的最新值,最好按created_at列查找。默认情况下,使用Site.last,Rails 将通过主键 ( ID) 进行搜索,这在大多数情况下都可以。但是,如果出于某种原因您需要更改ID现有记录的 an,您的 SQL 将不会返回您期望的结果。

因此,最好执行以下操作:

Site.order("created_at").last.title

关于您面临的问题,我认为问题与.type而不是title. 无论如何,我建议你site在你的控制器中设置最新的,然后在你的视图中调用它。

#controller
@site=Site.order("created_at").last

#view
@site.title

我希望它有帮助...

于 2012-07-14T10:21:19.710 回答