0
class Request
include Mongoid::Document 
field :code, type: String      
validates :code, :presence => true, 
                 :inclusion => { :in => proc { Listing.all_codes } }

Mongoid を使用して、送信フォームの :code 入力を検証して、データベースに既に存在する適切なコードを使用していることを確認しようとしています。リスト モデルの :code フィールドは、:code とも呼ばれます。

これはエラーです:

undefined method `all_codes' for Listing:Class

助言がありますか?Mongoid で同等の参照は何ですか?

4

1 に答える 1

0

これは、次のようなメソッドがないという Ruby レベルのエラーです。

class Listing
    def self.all_codes
       # stuff
    end
end

そのself.部分は重要です。

あなたはそれを次のように実装しているかもしれません

class Listing
   named_scope :all_codes, :select => #...
end

Listing.all本当のバグは、Request クラスと Listing クラスの間のメソッド名の不一致です。

于 2012-08-16T22:32:41.967 に答える