0

我正在使用 MongoDB 和 mongoid 在 Ruby on Rails 中编写模型。我有三个模型:用户、商店、评论。评论属于用户和商店。

class Review
  include Mongoid::Document

  field :rating, type: Float
  field :body, type: String

  belongs_to :user
  belongs_to :store

  def self.is_unique
    where(user: user, store: store).exists?
  end

end

我试图通过查看评论是否包含商店和用户的 ID 来确定用户是否已经提交了商店评论。但是,我似乎无法从这些外键中获取 ID。从上面的代码中,我收到以下错误消息:

Review:Class 的未定义局部变量或方法“用户”

奇怪的是,如果我添加一个用户字段和一个商店字段,我会收到类似的错误。

4

1 回答 1

1

随着def self.is_unique您在 Review 类(称为 Review.is_unique)上定义一个方法,而不是在 Review 实例上定义一个方法。我相信您想要的是定义def is_unique,以便您可以做Review.new(user: user, store: store).is_unique并获得有用的答案。

于 2013-10-31T22:44:25.147 回答