0

私は Meteor と Iron Router にかなり慣れていないので、この '/users/hippomoe/bookmarks/Kj6ecNk7DeW7PmmGA' のようなルートを作成しようとしています。ここで、hippomoe は現在ログインしているユーザーで、Kj6ecNk7DeW7PmmGA は a の ID になります。ブックマーク。私が試したことのいくつかは、ユーザー名を提供するハンドルバーヘルパーを追加することでした

bookmark: function() {
    return {
        _id: this._id,
        user: Meteor.user().username
    };
}

また、RouteController 定義内のデータ コンテキストで user: Meteor.user().username を定義しようとしました。どちらの場合も、次のエラーが表示されます。

このタイプのルートを示す例を見つけようとしました (これは一般的だと思います)。これに関連して StackOverflow で見た他の質問は、現在ログインしているユーザーではなく、特定のドキュメントに関連付けられたユーザーを取得することに関するものでした。

シンプルなものが足りないようです。誰かがこれを達成する方法の簡単な例を提供/指摘できますか?

4

3 に答える 3

1

なぜそのようなルートが必要なのか理解に苦しむ. ログインしているユーザーの名前が既にわかっている場合、ルートにもう一度名前を付ける必要があるのはなぜですか? それとも、これはサーバー側であることを意味していますか? その際は、ルートをご提示ください。

そうでなければ、これは機能しませんか:

Router.map(function () {
  this.route('postShow', {
    path: '/users/:ignoreme/bookmarks/_id',
    data: function () {
      var params = this.params;
      var user = Meteor.user().username;
      if (user == params.ignoreme) {
          ...
      } else {
          return "something went wrong";
      }
    }
  });
});

これは、必要な URL パターンを許可するためのものですが、繰り返しになりますが、/user/bookmarks などの URL を使用して、ロジックを Meteor.user() に依存するように変更しない理由がわかりません。

于 2013-12-12T23:40:48.910 に答える
0

_id の前に「:」がないと思います。これを試してください:

path: '/users/:ignoreme/bookmarks/:_id',
于 2013-12-13T03:59:35.643 に答える