在我的Rails应用程序中,我正在尝试为一个模型构建API,但我无法执行少量方法。难道不知道哪里出错了。请提出建议。
模型 - 用户
class User
include Mongoid::Document
include Mongoid::Timestamps
field :name, type: String
field :display_name, type: String
field :user_type, type: String
field :city_id, type: String
field :country_id, type: String
field :tags, type: String
field :status, type: Mongoid::Boolean
field :rating, type: Array
end
API 1. 所有用户列表 - User.All
但我无法选择列名。尝试在模型中定义范围但仍然给出错误。即。
User.selected_column
scope :selected_column, -> { select("id, name") }
API 2. 评分最高的用户列表 - User.rating_five
在模型中尝试定义范围但仍然给出错误。即。
User.rating_five
scope :rating_five, -> { .where(:rating["average"] > 4.6 ) }
答案 0 :(得分:0)
在某些情况下,Mondoid DSL与Activerecord有点不同。请参阅此处的官方documentation。
第一期:
scope :selected_column, -> { only(:id, :name) }
为了选择特定的列。
对于第二个问题,请尝试
scope :rating_five, -> { gt('rating.average': 4.6) }
此处gt
代表greater than