@aylo

Как обновить поля Meteor.users через autoform?

Пытаюсь сделать страницу профиля пользователя с возможностью изменения данных. Но при клике на кнопку выдает ошибку в консоле браузера, ну естественно данные не записываются. "Error: AutoForm: You must specify a collection when form type is insert.". Подскажите, где у меня кроется баг?
Template.accountForm.helpers({
	userSchema: function () {
		return Schema.User;
	}
});

Сообственно шаблон
<template name="accountForm">
	<div class="panel-body">
		{{#autoForm schema=userSchema collection=users id="accountForm" type="update" doc=this}}
		<fieldset>
			 {{> afObjectField name='profile'}}
		</fieldset>
		<button type="submit" class="btn btn-primary">Insert</button>
		{{/autoForm}}
	</div>
</template>


Схема
Schema = {};

Schema.UserProfile = new SimpleSchema({
	name: {
		type: String
	},
	lastName: {
		type: String
	},
	gender: {
		type: String,
		allowedValues: ['Male', 'Female']
	},
	company: {
		type: String,
	}
});

Schema.User = new SimpleSchema({
	_id: {
		type: String,
		regEx: SimpleSchema.RegEx.Id
	},
	email: {
		type: String,
		regEx: SimpleSchema.RegEx.Email
	},
	createdAt: {
		type: Date
	},
	profile: {
		type: Schema.UserProfile,
	},
	services: {
		type: Object,
		optional: true,
		blackbox: false
	}
});

Meteor.users.attachSchema(Schema.User);
  • Вопрос задан
  • 485 просмотров
Решения вопроса 1
@aylo Автор вопроса
Upddate
Ошибка крылась тут:
{{#autoForm collection='Meteor.users' doc=currentUser type='update' id='accountForm'}}
  {{> afQuickField name='profile'}}
<button type='submit' class="btn btn-primary">Save profile</button>
{{/autoForm}}

Совсем не обязательно было привязывать схему, достаточно было указать коллекцию Meteor.users, и так как форма type=update указать документ doc=currentUser
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
nurise
@nurise
Front-end, WordPress, Design
Я бы проверил то, как рендерится {{> afObjectField name='profile'}}
Есть ли там data-schema-key?
Еще раз перечитал бы доки: раз, два
Ответ написан
siteogra
@siteogra
Drupal, JS, Meteor
Если кому-то поможет:
{{#autoForm
collection="Colors"
doc=currentColor
id="updatePostForm"
class="form-inline"
type="method-update"
meteormethod="color.update"
}}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы