Rails:如何在模型中使用问号?

时间:2012-01-06 05:43:35

标签: ruby-on-rails mongodb model mongoid

我们的mongodb数据库中有一个名为“failed?”的字段,包括问号。有时当我访问该字段时,我得到数据库中的值,有时我得到null。我想要了解为了调试它会发生什么。那么,你可以在模型中的字段名称中有一个问号,如下所示:

field :failed?, :type => Boolean, :default => nil
或者我是否陷入了困境。假设我已经在数据库中使用了这个并且必须使用它,我应该如何获取这些字段。

环境:Rails 3.1,JRuby,Mongoid。

1 个答案:

答案 0 :(得分:2)

由于字段名称中的问号在MongoDB中有效,因此很可能是Mongoid错误。如果我不得不猜测,那可能是由Mongoid创建的自动<field>?的奇怪冲突。

解决此问题的最简单方法是尝试通过从MongoDB中提取的原始哈希来访问它,您可以使用model.attributes["failed?"]访问它。如果您仍有问题,那么可能是MongoDB驱动程序问题。