2014-09-03 60 views
0

我正在建立我的管理區域的過程。我認爲讓多個管理員用戶都可以訪問相同的數據會很有用。我正在使用這個roles package流星(0.9.0.1):使用助手與autoform更新多個用戶的記錄

我使用自動窗體生成爲「AdminA」登錄的,所以當表單,該用戶在表單中輸入的值,並將其提交,則記錄下AdminA的賬戶存儲。 AdminB然後登錄,但在窗體上看不到該值,因爲該用戶無權訪問AdminA的帳戶。我需要一種告訴autoform更新一條記錄的方法。

下面的代碼是我想要實現的。任何人都可以建議我需要做些什麼才能使這個工作?我看過autoform文檔,但我不完全確定。

的形式輸入框看起來有點像這樣渲染時:

<input type="text" name="VehiclePrice" value="10000" /> 
<input type="hidden" name="_id" value="LEXANiNZtunFPfBea"> 

模板:

<template name="VehiclePrice"> 
{{#if submitted}} 
    {{> quickForm collection="VehiclePrice" omitFields="createdBy" doc=editingDoc id="VehiclePrice" type="update"}} 
{{else}} 
    {{> quickForm collection="VehiclePrice" omitFields="createdBy" id="VehiclePrice" type="insert"}} 
{{/if}} 
</template> 

助手:

Template.VehiclePrice.helpers({ 
VehiclePrices: function() { 
    return VehiclePrice.find().map(function (c) { 
    return {price: c.price, _id: c._id}; 
    }); 
} 
}); 

的關係將是很多管理員用戶一條記錄(*:1)

任何想法?

回答

1

通過發佈車輛收集,你可以編程,確定誰有權訪問數據,什麼數據集出版。看看Meteor發佈文檔(http://docs.meteor.com/#meteor_publish)。

設置您的收藏後,你可以決定哪些數據集獲得通過發佈命令的東西等公佈:

Meteor.publish("vehicleInfo", function() { if (this.role == "admin") return Vehicle.find(); else return Vehicle.find({some subset of the data, or none at all (false)}); });

+0

我已經更新的問題,我不認爲我是不夠清楚。 – user1532669 2014-09-03 23:55:28

0

事實證明,這是我的一個助手的問題。這是限制用戶的數據,我讚賞並且它工作正常。