2015-05-11 82 views
1

我有兩個不同的流星集合,一個文件集合來存儲圖片:從兩個不同的集合顯示元素流星

Images = new FS.Collection("images", { 
    stores: [new FS.Store.FileSystem("images", {path: "~/uploads"})] 
}); 

和其他集合來存儲這些圖片信息:

Photos = new Mongo.Collection("photos"); 
Photos.attachSchema(new SimpleSchema({ 
    userId:{ 
    type: String, 
    autoValue:function(){return this.userId}, 

    }, 
    userName:{ 
     type: String, 
     autoValue:function(){return Meteor.users.findOne({_id: this.userId}).username}, 
    }, 

    groupMembers: { 
    type: String 
    }, 
    comments: { 
    type: String, 
    autoform:{ 
     rows: 5 
    } 
    }, 
    fileId: { 
    type: String 
    } 
})); 

我建這個輔助功能,幫助顯示在模板中的數據:

Template.imagesSubmitted.helpers({ 
     photos: Photos.find(), 
     image: function(){Images.findOne({_id: Template.instance().data.image}).url(); 
     } 
    }); 

Images.allow({ 
    download: function() { 
    return true; 
    }, 
    fetch: null 
}); 

這裏是HTML代碼來顯示照片的圖像和信息:

</template> 

<template name = "imagesSubmitted"> 
    List of photos 
    {{#each photos}} 
    <div class = "uploadedImage"> 
     This is an image 
     {{> photo}} 
     <img src="{{this.image}}" class = "tableImage" alt="thumbnail"> 

    </div>  
    {{/each}} 

</template> 

不幸的是,頁面不顯示無論從數據庫什麼。圖像僅顯示爲備用「縮略圖」,並且{{>photo}}似乎沒有顯示來自照片集合的任何信息。

有沒有辦法解決這個問題?還有一種方法可以簡化這一點,以便我只使用一個集合並仍然可以使用cfs:autoform來創建和發佈收集圖像的表單?

回答

1

您是否在瀏覽器控制檯中使用該查詢嘗試過?像Photos.find()。fetch(); 你在定義照片模板?

+0

是的,它看起來像對象有:Photos.find()取() [對象,對象,對象,對象,目標,對象] – occam98

+0

而關於照片模板是什麼。 ...你有定義它嗎? –

+0

不,但是當我刪除它時,我仍然沒有看到元素應該顯示的圖像。 – occam98

1

一定要允許下載功能。
the docs

Images.allow({ 
    download: function(userId, fileObj) { 
     return true 
    } 
}) 
+0

繼承人我有什麼:Images.allow({ download:function(){ return true; }, fetch:null }); – occam98

+0

我添加了你建議的參數,並沒有什麼區別。 – occam98

+0

嗯。檢查是否已發佈並訂閱了它們並檢查路徑。 – durrrr