我使用Parse API密钥和客户端ID初始化了我的parse-ruby-client。
以下是保存日期的代码:
dbObject = MyParse.object("ClassName")
dbObject["startTime"] = Date.new
result = dbObject.save
但是我在第二行收到以下错误:
Parse::ParseProtocolError in EventsController#create<br>
111: invalid type for key startTime, expected date, but got string
答案 0 :(得分:0)
错误提示您:对于dbObject["startTime"]
,键(&#34; startTime&#34;)应该是日期类型,但是&#34; startTime&#34;是一种字符串类型。
您应该根据需要将dbObject["startTime"]
更改为dbObject[Date.new]
(或其他数据类型值)。
答案 1 :(得分:0)
我能够通过编写和调用云代码函数将事件的开始时间保存到Parse,而不是直接从.rb文件保存值。
events_controller.rb:
params = {"name" => @event.name,
"startTime" => @event.startTime}
function = Parse::Cloud::Function.new("createEvent")
function.call(params)
cloud_code.js:
Parse.Cloud.define("createEvent", function(req, res) {
var name = req.params.name;
var startTime = new Date(req.params.startTime);
var parseClass = Parse.Object.extend("ClassName");
var event = new parseClass();
event.set('name', name);
event.set('startTime', startTime);
event.save(null, {
success: function(event) {
res.success('Successfully ran createEvent');
},
error: function(event, error) {
res.error(error);
}
});
});