找不到child_model(NameError)

| 我无法确定为什么在这里出现名称错误。我是DataMapper的新手,但尝试进行关联。任何帮助表示赞赏。 用户:
class User
  include DataMapper::Resource

  property :id,            Serial, :key => true
  property :first_name,    String
  property :last_name,     String
  property :company,       String
  property :city,          String
  property :country,       String
  property :mobile_number, Integer
  property :email_address, String
  property :shahash,       String
  property :isRegistered,  Boolean

  belongs_to :event, :required => true
end

DataMapper.auto_upgrade!
事件:
class Event
  include DataMapper::Resource

  property :id,          Serial, :key => true
  property :name,        String
  property :occuring,    DateTime

  has n, :user
end

DataMapper.auto_upgrade!
    
已邀请:
        我认为问题在于您在每个模型定义后都叫
DataMapper.auto_upgrade!
。在仅定义一个模型后调用它时,那里没有子模型。相反,您应该定义和/或要求所有模型,然后执行以下操作:
DataMapper.finalize      # set up all relationships properly
                         # and do a basic model sanity check
DataMapper.auto_upgrade! # create database table if it doesn\'t exist
    
        在模型目录中添加一个初始化文件,然后将所有DataMapper.finalize语句移至该文件(即,从各个模型文件中删除finalize语句) app / models / init.rb
require_relative \'file_name\'
require_relative \'another_model_file_name\'

DataMapper.finalize
然后在您的应用程序文件中需要init文件
require_relative \'models/init\'
    

要回复问题请先登录注册