gpt4 book ai didi

ruby-on-rails - Rails + MongoID - 按属性查询

转载 作者:IT老高 更新时间:2023-10-28 13:25:07 24 4
gpt4 key购买 nike

我有一个这样的模型:

class Lesson
include Mongoid::Document

field :title, :type => String
field :category, :type => String
field :price, :type => Float
field :description, :type => String
field :user_id, :type => String


validates_presence_of :title
validates_presence_of :category
validates_presence_of :price
validates_presence_of :user_id

attr_accessible :title, :category, :description, :price

end

我正在尝试这样查询:

@lessons_by_user = Lesson.find_by_user_id current_user.id

我得到了:

undefined method `find_by_user_id' for Lesson:Class

如何通过 MongoID 中的特定属性进行查询?

我知道该怎么做:

@lessons = Lesson.all(:conditions=>{:user_id=>current_user.id.to_s}) 

但我想知道是否有捷径...

最佳答案

Mongoid 没有 ActiveRecord 风格的自动创建查找器方法,它只支持一组有限的 predefined finder methods :

  • Model.all
  • Model.count
  • Model.exists?
  • Model.find
  • Model.find_or_create_by
  • Model.find_or_initialize_by
  • Model.first
  • Model.last

但是,它确实有一个通用目的 where method所以你这样说:

@lessons = Lesson.where(:user_id => current_user.id)

where 也是可链接的(就像 ActiveRecord 的较新版本中的 where 一样),因此您可以添加更多条件或通过链接更多条件调用来指定排序。

关于ruby-on-rails - Rails + MongoID - 按属性查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9747224/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com