【问题标题】:how to get title when table has type column当表格具有类型列时如何获取标题
【发布时间】:2012-07-14 08:16:30
【问题描述】:

我们有一个简单的站点模型,具有单表继承sites(id, type, title, address),其中类型可以是“家庭”或“办公室”。当我们在 Rails 2.3.5 上时,我们可以使用Site.last.title,它会给出标题。但是,在 Rails 3.2.6 上,当我们执行 Site.last.title 时,它会向我们提供值作为类型列。

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

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 activerecord ruby-on-rails-3.2


    【解决方案1】:

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

    所以,最好这样做:

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

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

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

    希望对你有帮助……

    【讨论】:

      猜你喜欢
      • 2020-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-09
      • 2016-07-16
      • 2021-10-17
      • 2019-07-28
      相关资源
      最近更新 更多