我对Meteor.js很陌生,我发现文档有点难以理解。
我从一个非常简单的应用程序开始,用户只需单击一个按钮即可将现有游戏添加到他们的个人资料中。游戏存储在另一个 Meteor Collection 中。
在 Rails 中,我只会创建一种has_and_belongs_to_many
关系,但这不是 Meteor 的工作方式。我认为最好的方法是在创建用户帐户时添加一个空数组 - 然后,当他们单击“添加游戏”按钮时,它会将游戏的标题传递给用户数组。
我的/server/users.js文件中有这个:
Accounts.onCreateUser(function(options, user){
user.games = [];
return user;
});
Meteor.methods({
addGame: function(title) {
Meteor.users.update(Meteor.userId(), { $addToSet: { games: title}});
}
});
我正在调用addGame
我的/client/views/games/games_list.js文件中的方法,如下所示:
Template.gamesList.events({
'click .add-to-chest-btn': function(e){
var title = $(e.target).attr('name');
e.preventDefault();
Meteor.call('addGame', title, function(title){ console.log(title)});
}
});
我在正确的轨道上还是有更好的方法来做到这一点?