ruby-on-rails - 将项目插入mongoid数组

标签 ruby-on-rails ruby mongoid

我有一个这样定义的模型:

class Foo
  include ::Mongoid::Document

  field :name, type: String
  field :followed_bars, type: Array
  field :favorite_bars, type: Array
end

我像这样创建了一个 Foo 对象:

foo = Foo.new(name: "Test")
foo.save

在我的数据库中,当我键入 db.foo.find() 时,我可以看到我刚刚创建的对象。 然后,在我的应用程序中,我尝试这样做:

foo = Foo.first
foo.push(:followed_bars, "hello")

每次我都会收到错误消息:ArgumentError:参数数量错误(2 对 1)

我不确定我在这里错过了什么?

在此先感谢您的帮助!

问候。

最佳答案

我刚刚找到了如何对 mongoid 数组进行推送。

在 API 文档中,他们给出了一个示例(mongoid 3.x):

Model#push    person.push(:aliases, "007")

我正在使用 mongoid 4.0.0,他们更改了方法定义,现在我们必须使用新的语法,所以我不得不写:

foo.push(aliases: "test")

问题就这样解决了。

关于ruby-on-rails - 将项目插入mongoid数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18683148/

相关文章:

ruby-on-rails - 获取运行时错误 : "In order to use #url_for, you must include routing helpers explicitly" when I've already included them

Ruby 读写带引号的 CSV

ruby-on-rails - 事件记录对象数组中的下一个元素

ruby-on-rails - 我如何才能只抓取 20 分钟前创建的带有评论的文章?

ruby-on-rails - 如何使用 Mongoid 建模多态的自定义名称关系

ruby-on-rails - 更改 JSON 格式

ruby-on-rails - 使用 Vpim Gem 创建公司名片

ruby - sinatra-authentication gem 不是在寻找正确的 View 吗?

ruby-on-rails - session cookie问题: undefined method `each_with_object' Upgrading to Rails 4 and Ruby 2

ruby - 创建 ruby 字符串的不同方式