如何从服务器创建脚本

如何从服务器创建脚本

问题描述:

新记录按照documentation,新的记录可以被插入到数据源这样的:如何从服务器创建脚本

var record = app.models.Person.newRecord(); 
app.saveRecords([record]); 

然而,当我在服务器脚本我试图做一些事情如简单:

var item = app.models.ScheduledTournaments.newRecord() 

...我得到这个回报:

TypeError: [object Object] is not a function, it is object. at SharkScope:125 at scheduledTournaments (SharkScope:122)

这样看来,newRecord根本不是功能。为什么?你如何从服务器脚本访问数据源?

how do you access datasources from a server script?

您提供的链接指向服务器端API,但服务器上没有数据源(仅在客户端存在数据源)。当然,您可以在服务器上创建记录,但要查看它们,您需要在客户端重新加载数据源。

So it appears that newRecord is not a function at all.

最明显的答案将是你试图调用Sever的端API客户端(确保你选择合适的剧本类型创建时)...

如果你真的想创建新客户端的记录,那么你需要去与数据源的创建模式:

// Create a new record for datasource in auto-save mode 
var create = app.datasources.MyDatasource.modes.create; 

create.item.Field1 = 'a'; 
create.item.Field2 = 'b'; 
... 
create.createItem(function(record) { 
    // do stuff 
}); 
+0

对不起,混淆。当我第一次发布这个问题时,我确实试图在服务器端使用'app.datasources',因此在问题标题中使用了“datasource”。后来我发现了实际的服务器端API,并试图使用它,但是失败了,编辑这个问题来反映这一点。我**不**尝试在客户端上使用服务器端API。我在服务器脚本中收到这个错误,需要在服务器上创建这些记录(至少因为有很多这些记录,并且数据正在被服务器读取/处理)。 – Septagram

+0

您何时/何时调用您的服务器端代码? –

+0

作为对用户单击某个按钮的响应(目前;稍后将按计划定期执行),将调用服务器端脚本。该服务器端脚本在其他地方进行了一次安静的API调用,并且正在处理接收的数据,并且应该将其插入到数据库中。只有这样服务器端脚本才会返回。 – Septagram