我正在尝试使用Mongoid应用程序将泛型函数抽象为Rails 5上的模型关注点。这是我使用mongoid和其他项目的第一个应用程序,我在实现下一个项目时没有遇到任何问题:
movie.rb
class Movie
include Mongoid::Document
include Genericable
field :name, type: String
field :year, type: Date
field :length, type: Integer
field :writers, type: Array
validates_presence_of :name, :year, :length
validates_uniqueness_of :name
index({name: 1}, {unique: true})
has_many :writers, class_name: "Person"
embeds_many :roles, class_name: "MovieRole"
end
genericable.rb(关注)
module Genericable
extend ActiveSupport::Concern
def self.s
all.map{|x| x}
end
end
(方法仅供演示之用)。
当我尝试时,在我的rails控制台Movie.s上我得到下一个错误:
NoMethodError: undefined method `s' for Movie:Class
关于我做错了什么的任何线索?提前感谢您的帮助。