我正在使用带有水线ORM的风帆版本0.12来生成模型。我在尝试运行Error: Trying to access a collection string that is not defined
命令时收到此错误sudo sails lift
。
module.exports = {
attributes: {
manufacturer_name: {
type: 'string'
},
manufacturer_logo_url: {
type: 'string'
},
manufacturer_archived_status: {
type: 'boolean'
},
manufacturer_tabs: {
model: 'manufacturer_tabs'
},
brands: {
model: 'brands'
}
}
};
答案 0 :(得分:0)
在与模型的关联中,模型的名称必须与模型的确切名称相匹配,即文件名。通常你的模型(文件名)应该是JAVA样式的CamelCase(或PascalCase)表示法。所以你的代码应该是这样的:
module.exports = {
attributes: {
manufacturer_name: {
type: 'string'
},
manufacturer_logo_url: {
type: 'string'
},
manufacturer_archived_status: {
type: 'boolean'
},
manufacturer_tabs: {
model: 'ManufacturerTabs'
},
brands: {
model: 'Brands'
}
}
};
您的关联模型应该位于名称为ManufacturerTabs.js和Brands.js的文件中。
我的建议:避免使用C语言和系统编程样式表示法,因为它不再被现代脚本语言所接受,不包括python。使用camelCase为您的JavaScript代码。因此,请考虑将manufacturer_name替换为manufacturerName,manufacturer_logo_url替换为manufacturerLogoUrl等。尽管如此,这是您的选择。但是,嘿,遵循惯例是很好的。