2014-01-31 83 views
0

我建立在Ember.JS一個網站,其中也有一個博客,在其自己的路線創建RSS頁面:一個Ember.JS博客

this.resource('blog', {path: '/blog'}, function() { 
     this.resource('post', {path: 'post/:post_id'}); 
     this.resource('tag', {path: 'tag/:tag'}); 
     this.route('new', {path: 'post/new'}); 
     this.route('search', {path: 'post/search'}); 

我有application.handlebars爲主HTML頁面模板和博客在{{outlet}}中呈現。

現在,我要創建的博客的RSS版本,因此我想補充以下路線:

 this.resource('rss'); 

我想重複使用的模型,所以我可以獲取所有的帖子,用同一個控制器(按日期排序),但使用XML模板。

我如何確保:

1)RSS模板是渲染的時候,唯一的模板,即應用程序模板,模板的索引和博客模板不渲染呢?

2)如何更改標題,以便我可以添加電子標籤?

回答

0

我不是極度熟悉Ember,但我只能想到一種方法來實現這一點:data-URI

這意味着您將不在控制器中生成XML,而是將其呈現在視圖中。你必須輸出它到一個字符串。然後,你會使用Base64編碼(btoa)這個字符串,並做了window.location = "data:application/xml;base64," + window.btoa(feedAsString);

這就是我們在做SubToMe從單一的網頁應用程序(使用雖然角)的出口OPML [你可以在這裏看到。