2015-05-26 342 views
1

當我點擊用戶的名字,我想鏈接到他們的個人資料頁面。我正在使用流星與鐵路由器。這裏有定義的路由:流星與鐵路線路徑

Router.route('/', { name: 'JobsList'}); //homepage with all users 

//this is where the user's profile is located and works: 
Router.route('/company/:_id/', { 
name: 'CompanyPage', 
data: function() { return Meteor.users.findOne(this.params._id); } 
}); 

//this page shows all users with url that works: 
Router.route('/companies/', {name: 'CompaniesList'}); 

我得到不正確的鏈接,當我將鼠標懸停在用戶主頁上的名字,但我得到了正確的鏈接,當我將鼠標懸停他們對「/公司/」頁面上的名稱。爲了生成鏈接,我使用pathFor "CompanyPage"

我是否錯過了導致網頁不正確的信息?你需要看什麼js或html?讓我知道,我會編輯這篇文章。謝謝。

回答

1

爲了得到正確的鏈接,你必須使用以下語法:

{{pathFor 'CompanyPage' _id=userId }} 

凡this._id應該是用戶的ID

正在發生的事情:

對於路線帶有某種附加標識符,Iron Router將在this中查找相同的標識符名稱。如果this被設置爲正確的數據上下文,它將工作,但是如果您的/路由沒有定義數據上下文。在公司頁面上,數據上下文被定義爲正確的用戶。

+0

嗨,沒有奏效。我還要說明鏈接的ID與作業頁面相同。我在同一頁上有一個鏈接,鏈接到他們的工作頁面。即:'job/abcdefg'。他們的個人資料鏈接也指向'company/abcdefg'。某處發生衝突? – Sylar

+1

你必須將'this._id'替換爲userId。 –