フロントエンドでポスターの UserID を表示することができ、ID の代わりにユーザー名を表示するためにさまざまなことを試しました。何が間違っているか、何をすべきかを見つけることができません。
投稿するフォーム
<form ng-show="$root.currentUser">
<label>Name</label>
<input ng-model="newPost.name">
<label>Description</label>
<input ng-model="newPost.description">
<button ng-click="newPost.owner=$root.currentUser._id; posts.push(newPost)">Add</button>
</form>
コントローラ
angular.module('posts').controller('PostsCtrl', ['$scope', '$meteor',
function($scope, $meteor){
$scope.posts = $meteor.collection(Posts);
$scope.remove = function(post){
$scope.posts.remove(post);
};
}]);
モデル:
Posts = new Mongo.Collection("posts");
Posts.allow({
insert: function (userId, post) {
return userId && post.owner === userId;
},
update: function (userId, post, fields, modifier) {
return userId && post.owner === userId;
},
remove: function (userId, post) {
return userId && post.owner === userId;
}
});
編集: HTML:
<p class="post-user">{{post.owner}}</p>
これですべて機能しますが、今回はユーザー名ではなくユーザー ID が表示されます。
前もって感謝します!