Метеор: вставка не выполнена: метод не найден
Я получаю сообщение журнала 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 с Meteor, но то, что я почерпнул из вышеприведенных потоков, состоит в том, что коллекция должна быть доступна на клиенте и на сервере. Разве это не то, что я сделал, или я развиваю кофейную слепоту?
Спасибо!
Ответы
Ответ 1
Убедитесь, что вы также объявили свою коллекцию как на сервере, так и на клиенте.
В вашем коде выше @VINs = new Meteor.Collection("vins")
как на клиенте, так и на сервере, так что может быть, что вы поместили свой код в каталог /client
?
Если это означает, что код будет выполняться только на клиенте, даже если у вас есть else
для блока if Meteor.isClient
.
Чтобы исправить это, скопируйте строку, которую вы использовали в файле .coffee
в каталоге /server
:
@VINs = new Meteor.Collection("vins")