没有为Titanium Appcelerator中的表“books”指定config.adapter.idAttribute

时间:2014-02-15 17:05:02

标签: appcelerator

我是appcelerator的新手。在遵循快速入门指南的同时,我无法在iOS模拟器上生成构建,即使在完全复制粘贴所需模型和控制器中的代码之后也是如此。 控制台给我以下信息:

  • 没有为表“books”指定config.adapter.idAttribute
  • 添加“alloy_id”以唯一标识行

模拟器在默认的初始屏幕停止,之后没有任何反应。 大师可以告诉我这个吗?

3 个答案:

答案 0 :(得分:4)

当您编辑controllers / index.js时,您可能会删除那里的所有内容,而不仅仅是doClick()函数。 你需要留下$ .index.open();在文件的末尾,或者你会得到 没有为表“books”错误指定config.adapter.idAttribute

您的代码应如下所示:

var myBooks = Alloy.Collections.books;
var book = Alloy.createModel('books', { 
 title : 'Great Expectations', 
 author: 'Charles Dickens' 
});
myBooks.add(book); 
book.save();
$.index.open();

希望这有帮助

答案 1 :(得分:3)

你是否陷入了第一个构建阶段?如果是这样,请在这里查看我的答案:

Appcelerator Dev Questions - favebooks tutorial

这是因为在最初加载时没有调用任何东西来启动应用程序,因此它在启动屏幕上挂起,模型很好,它是你需要查看的index.js和index.xml。

答案 2 :(得分:1)

您是否在模型中添加了idAttribute?

模型示例:

 exports.definition = {
    config: {
        columns: {
            "id":"integer",
            "version": "integer"
        },
        adapter: {
            type: "sql",
            collection_name: "version",
            idAttribute:'id'
        }
    },