显示 created_at 时出现“undefined method 'getlocal'”错误?

4
我将为您翻译以下it技术相关内容,涉及rails3.2.6、ruby1.9.3和mongoid3.0的使用问题:

我使用rails 3.2.6,ruby 1.9.3以及mongoid gem 3.0。

我想显示数据库记录的created_at字段,但是遇到了以下错误:

undefined method `getlocal' for "Wed, 25 Apr 2012 15:04:37 -0400":String

以下是Rails代码:

<dt>Erstellt am:</dt><dd><%= @app.created_at %></dd>

任何建议是什么问题?有没有修复的bug?在我的看法中应该可以工作吗?
提前感谢!

我想我在这里找到了你的答案(https://dev59.com/4VHTa4cB1Zd3GeqPT7aS)。希望能有所帮助... - gabrielhilal
之前看到过,但不知道如何将其用于created_at变量。有什么建议吗? - trnc
尝试将其转换为字符串:@app.created_at.to_s - gabrielhilal
请看这里:https://dev59.com/h3VC5IYBdhLWcg3wfhGL - gabrielhilal
@Tronic 在控制台中,@app.created_at.class 返回什么?它返回 => ActiveSupport::TimeWithZone 吗?如果不是,为什么会被存储为其他东西? - Hishalv
显示剩余4条评论
3个回答

1

1

getlocalTime类上的一个方法,因此可能存在混合使用对象类型的问题。系统预期@app.created_atTime的一个实例,而不是DateTime。请确保created_at字段类型为DateTime,并且在创建/更新此字段时,确保您放入的对象也是一个DateTime对象。


我使用Mongoid,并且它会自动设置created_at时间戳,所以不知道... - trnc
1
我该如何确保?我尝试了 field :createdAt, type: DateTime 但仍然崩溃。 - Zennichimaro

0
如果你使用mongoid,不要使用
@app.created_at
而是尝试使用
@app[:created_at]
这对我有用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接