1

使用 Sinatra 和 DataMapper。这是我第一次尝试使用两个以上的模型类。不确定是什么导致了错误。谢谢。

错误:

NameError: Cannot find the child_model ContactNote for Contact in contact_notes

型号:

class Contact
    include DataMapper::Resource
    property :id, Serial
    property :fullname, Text, :required => true
    property :email, Text
    property :phone, Text
    has n, :contact_notes
    has n, :projects
end

class Contact_Note
    include DataMapper::Resource
    property :id, Serial
    property :contact_content, Text, :required => true
    property :created_at, DateTime
    property :updated_at, DateTime
    belongs_to :contact
end

class Project
    include DataMapper::Resource
    property :id, Serial
    property :project_name, Text, :required => true
    property :created_at, DateTime
    property :updated_at, DateTime
    belongs_to :contact
    has n, :project_notes
end


class Project_Note
    include DataMapper::Resource
    property :id, Serial
    property :project_content, Text, :required => true
    property :created_at, DateTime
    property :updated_at, DateTime
    belongs_to :project
end
4

1 回答 1

3

Datamapper 根据 ruby​​ 约定对类名做出预期。它希望您的联系笔记在一个ContactNote类中,而您已将其命名为Contact_Note,因此它无法找到 ContactNote 的错误。

于 2012-12-29T23:36:18.220 回答