Ruby on rails 值在Rails中显示为Nil的Postgres列

Ruby on rails 值在Rails中显示为Nil的Postgres列,ruby-on-rails,postgresql,date,Ruby On Rails,Postgresql,Date,在我的Postgres数据库中有一个日期列,当直接查询DB时,它似乎已填充(并且格式正确),但当尝试在Rails控制台或视图中访问该属性时,它返回nil。有什么想法吗 DealArticle Load (2.7ms) SELECT "deal_articles".* FROM "deal_articles" WHERE "deal_articles"."id" = $1 LIMIT 1 [["id", 83]] => #<DealArticle id: 83, url: "htt

在我的Postgres数据库中有一个日期列,当直接查询DB时,它似乎已填充(并且格式正确),但当尝试在Rails控制台或视图中访问该属性时,它返回nil。有什么想法吗

DealArticle Load (2.7ms)  SELECT "deal_articles".* FROM "deal_articles" WHERE "deal_articles"."id" = $1 LIMIT 1  [["id", 83]]
=> #<DealArticle id: 83, url: "http://www.finsmes.com/2015/09/stepjockey-raises-60...", raw_article_html: "StepJockey Raises £600K\n\r\n\t\tStepJockey Ltd, a Londo...", source: nil, article_date: "2012-02-04", article_title: "StepJockey Raises £600K", capital_raise_flag: false, buyout_flag: false, capital_raise_amount: nil, buyout_amount: nil, portfolio_company_id: nil, created_at: "2015-09-16 18:30:22", updated_at: "2015-12-05 22:51:58">
它返回零

所有其他属性都正常工作

以下是型号代码:

class DealArticle < ActiveRecord::Base
validates :url, presence: true, uniqueness: { case_sensitive: false }
validates :article_title, presence: true, uniqueness: { case_sensitive: false }
end
classdealarticle
使用PG gem PG(0.17.1)

Rails 4.0.3


x86_64-apple-darwin13.0.0上的PostgreSQL 9.3.3,由apple LLVM版本5.0(clang-500.2.79)(基于LLVM 3.3svn)编译,64位

好吧,所以我愚蠢地在我的模型中有一个实例方法(在决定生成DB列之前我打算使用的垃圾方法),它的名称与所讨论的属性相同,因此,当调用属性时,它返回nil。

您是否尝试过添加validates\u presence\u of:article\u date并创建一个新的?看起来该列中完全可能有一个nil值。没有解释为什么应用程序没有显示现有值,但可能会有所帮助。另外,您确定在应用程序中和直接查询时都使用相同的方式查看对象吗?
class DealArticle < ActiveRecord::Base
validates :url, presence: true, uniqueness: { case_sensitive: false }
validates :article_title, presence: true, uniqueness: { case_sensitive: false }
end