流星:插入失败:找不到方法
Posted
技术标签:
【中文标题】流星:插入失败:找不到方法【英文标题】:Meteor: insert failed: Method not found 【发布时间】:2013-09-02 07:54:58 【问题描述】:我收到了insert failed: Method not found
日志消息,这可能是这些线程中描述的结果:
但是,我不知道如何。让我展示一下代码,希望能更清楚地解释。我正在使用 Coffeescript:
if Meteor.isClient
@VINs = new Meteor.Collection("vins")
scoped_vins = @VINs
Template.vins.events =
"click .icon-plus-sign": ->
console.log "this is #this"
realVIN = $("#your-vin").val().replace /\D/g, ''
console.log "user id is: #Meteor.userId() vin is #parseInt(realVIN)"
VINs.insert number: parseInt(realVIN), owner: Meteor.userId() if Meteor.userId()
$("#your-vin").val('')
else
@VINs = new Meteor.Collection("vins")
我完全是流星的 n00b,但我从上面引用的线程中收集到的是 collection 必须在客户端和服务器上可用。这不是我所做的,还是我患上了咖啡盲症?
谢谢!
【问题讨论】:
重复Meteor using a local connection results in error: insert failed: 404 -- Method not found 作为 n00b 的第一步是删除与重现错误无关的任何代码。例如。 VIN 上的replace
可能与错误无关,因此请尝试将其删除。错误是否仍然出现?继续删除代码,直到找出最小的复制案例。
【参考方案1】:
确保您还在服务器和客户端上声明了您的集合。
在客户端和服务器的@VINs = new Meteor.Collection("vins")
上面的代码中,那么可能是您将代码放入了/client
目录?
如果是这样,这意味着代码将仅在客户端上运行,即使您拥有用于 if Meteor.isClient
块的 else
。
要纠正此问题,请将您使用的行复制到 /server
目录中的 .coffee
文件中:
@VINs = new Meteor.Collection("vins")
【讨论】:
而且...你第一次尝试就成功了 :) 这是我缺乏理解和一些目录重组的结合。 我不太确定!如果它解决了您的问题,您也不需要if Meteor.isClient..else..
,因为它已经在客户端和服务器上运行,具体取决于文件所在的目录。如果您将文件放在根目录中,那么您可以使用@987654329 @(如 todos 示例)
对。非常感谢!我快到那里了。只是没有我想象的那么快。只有我的第二个 mongo 项目,我必须把头放在关系空间之外。
很酷的东西,如果您遇到其他问题,请尽管问。一定会至少尝试回答以上是关于流星:插入失败:找不到方法的主要内容,如果未能解决你的问题,请参考以下文章
将流星部署到 android-device 时找不到 Build Tools 修订版 24.0.1
Python 使用pyinstaller打包程序失败提示找不到c盘的某个dll文件解决方法,FileNotFoundError: [WinError 2] 系统找不到指定的文件
Python 使用pyinstaller打包程序失败提示找不到c盘的某个dll文件解决方法,FileNotFoundError: [WinError 2] 系统找不到指定的文件