[英]Meteor returning method not found error
Drug = new Mongo.Collection('drugData');
if(Meteor.isClient)
{
Template.drugs.events(
{
'submit .new-drug':function(event)
{
event.preventDefault();
var name = event.target.name.value;
var type = event.target.type.value;
var rating = Number(event.target.Rating.value);
Meteor.call('addDrug',name,type,rating);
event.target.name.value="";
event.target.type.value="";
event.target.Rating.value="";
}
});
Template.drugs.helpers(
{
'druglist':function()
{
return Drug.find({},{sort:{createdAt:-1}});
}
}
);
}
if(Meteor.isServer)
{
Meteor.publish('druglist',function()
{
return Drug.find();
});
}
Meteor.methods(
{
addDrug:function(name,type,rating)
{
Drug.insert(
{
name:name,
type:type,
rating:rating,
createdAt:new Date()
});
}
}
);
//////我的路由器///////
Router.configure({
layoutTemplate:'layout'
});
Router.map(function()
{
this.route('login',{path:'/'});
this.route('claims',{path:'/claims'});
this.route('clients',{path:'/clients'});
this.route('employees',{path:'/employees'});
});
Router.route('/drugs',
{
name:'drugs',
template:'drugs',
data: function()
{
Meteor.subscribe('druglist');
}
});
我是流星的新手,我目前正在學習路由,在使用帶有發布和訂閱的路由時顯示我的數據時遇到問題。 當我運行帶有自動發布和不安全的代碼,並且不使用發布和訂閱我的頁面上顯示的數據時,但是當我刪除自動發布和不安全並使用發布和訂閱時,我得到了錯誤“方法“ addDrug”未找到:404” 。
這是我的模板代碼
<template name="drugs">
<h3>this is the drugs page</h3>
<form class= "new-drug">
<input name="name" type="text" placeholder="Drug name">
<input name="type" type="text" placeholder="Drug Classification">
<input name="Rating" type="text" placeholder="Drug Rating">
<button type="submit">Add Drug<span class="fa fa-plus"></span></button>
</form>
<div>
<ol>
{{#each druglist}}
<li>{{name}}--{{type}}--{{rating}}</li>
{{/each}}
</ol>
</div>
</template>
您在路由中使用的data選項等效於模板幫助器功能,並且不能用於預訂集合。 訂閱是通過waitOn或subscriptions選項完成的。
Router.route('/drugs',
{
name:'drugs',
template:'drugs',
waitOn: function() {
return Meteor.subscribe('druglist');
},
data: function() {
return { druglist: Drug.find({},{sort:{createdAt:-1}}) };
}
});
使用此代碼,您將不再需要幫助器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.