2

我是 CompoundJS 的新手,我不太确定这是否是正确的行为。

我正在使用以下代码在 PROD 模式下启动服务器:

NODE_ENV=production compound server 8081

然后我打:

http://localhost:8081/categories/

我只是看到从服务器检索到一些JSON 。

相反,它会呈现这样的页面:

在此处输入图像描述

4

1 回答 1

2

正如评论中提到的@Pablo,只需.json在对控制器的调用中使用。

如下所示:

GET http://localhost:3000/categories.json

预计您的控制器将同时处理这两种情况,就像生成的控制器一样。

一个具体的例子:[approot]/app/controllers/category_controller.js

在 JavaScript 中:

action(function index() {
    this.title = 'Categories index';
    Category.all(function (err, categories) {
        respondTo(function (format) {
            // Use format.json and the send method to return JSON data when 
            // .json is specified at the end of the controller
            format.json(function () {
                send({code: 200, data: categories});
            });
            format.html(function () {
                render({
                   categories: categories
                });
            });
        });
    });
});

在 CoffeeScript 中:

action index = ->
  @title = "Categories index"
  Category.all (err, categories) ->
    respondTo (format) ->

      # Use format.json and the send method to return JSON data when 
      # .json is specified at the end of the controller
      format.json ->
        send
          code: 200
          data: categories


      format.html ->
        render categories: categories
于 2013-06-07T22:02:28.440 回答