ruby-on-rails - Rails 3 find_or_create 由多个属性 mongoid

标签 ruby-on-rails ruby ruby-on-rails-3 mongodb mongoid

在此链接Rails find_or_create by more than one attribute?可以在事件记录中使用多个属性。

如何在 mongoid 中使用多个属性?

谢谢

最佳答案

如果你查看 lib/mongoid/finders.rb 中的源代码:

# Find the first +Document+ given the conditions, or creates a
# with the conditions that were supplied.
    ...
# @param [ Hash ] attrs The attributes to check.
#
# @return [ Document ] A matching or newly created document.
def find_or_create_by(attrs = {}, &block)
    find_or(:create, attrs, &block)
end

您可以看到 find_or_create_by 接受 {} 作为第一个参数。你可以一次传入多个条件

something.find_or_create_by(name: 'john', age: 20)

它应该可以工作。

关于ruby-on-rails - Rails 3 find_or_create 由多个属性 mongoid,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11985325/

相关文章:

ruby-on-rails - Rails - 在不同 View 中渲染 form_for @user

ruby-on-rails - Ruby on Rails : Acts as taggable on gem, 在模型中使用上下文

mysql - 使用 GROUP BY 的复杂查询和 MySQL 中的价格范围

ruby-on-rails - rake 数据库 :reset Drop all tables but not database

ruby-on-rails - 无法在 Rails 4 中自动加载常量 API Controller

ruby-on-rails - 音频标签在 Active admin、Ruby on Rails 中不起作用

ruby-on-rails - 类方法和期望参数

ruby-on-rails - 创建一个由 'order' 和 'products' [rails] 组成的 'quantities' 模型

ruby-on-rails - Rails 中的动态选择菜单/级联下拉菜单?

ruby-on-rails-3 - Rails 3-如何制作自己的错误处理程序