为Ember.JS博客创建RSS页面

时间:2014-01-31 09:50:56

标签: 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)如何更改标题,以便我可以添加eTag?

1 个答案:

答案 0 :(得分:0)

我对Ember并不十分熟悉,但我只想到一种方法来实现这一点:data-URI

这意味着您将在控制器中生成XML,而不是在视图中呈现它。你必须将它输出到一个字符串。然后,您将对此字符串进行base64编码(btoa)并执行window.location = "data:application/xml;base64," + window.btoa(feedAsString);

这是我们在SubToMe中从单页面应用程序中导出OPML的方法(尽管使用Angular)[你可以在这里看到。