【问题标题】:Sails.js routes, with variables in url. ex /games/(ID HERE)Sails.js 路由,在 url 中有变量。前 /games/(此处为 ID)
【发布时间】:2014-12-01 22:55:05
【问题描述】:

我试图找到一个指南,如何让路由与 url 中的变量一起工作 示例:games/124512 并将该 id 获取到变量中的控制器。

我现在的 routes.js :

'/': {
    view: 'homepage'
  },

  '/games/': {
    controllers: 'games',
  }

我的 GamesController.js 现在:

var GamesController = {

    sayHello: function (req, res) {
        res.view('homepage', {
            user : "sayHello",
        });
    },
    sayWelcome: function (req, res) {
        res.view('homepage', {
            user : "sayWelcome",
        });
    }
};
module.exports = GamesController;

我可以写 /games/sayHello 或 /games/sayWelcome 但我希望能够写示例 /games/234234 或 /games/234234/settings

谢谢! :)

【问题讨论】:

    标签: javascript node.js routes sails.js


    【解决方案1】:

    您可以在您的路线中设置url slugs,如链接所示,即/games/:id。您可以通过在路由中设置的名称在您的控制器中访问它们,即req.param('id')

    【讨论】:

    • 谢谢!它工作正常,但是在控制器中写什么,因为现在我需要写 /games/sayHello/(IDHERE),我只想写 /games/(IDHERE)
    • 设置动作选项,如示例中所示,为games/:id 路由sayHello, action: 'sayHello'
    • 我收到此错误:忽略将路由 (/games/:id) 绑定到未知蓝图操作 (index) 的尝试,我将 sayHello 更改为 index..
    • 如果您遵循我链接到的示例,不知道为什么会这样做。可能如果您命名了可能有问题的函数索引,但我也看不到您的其余代码。您可以尝试从sails.js 团队获取一些help
    • 好的,谢谢大家的帮助,我在路由中找到了另一种方式:'/games/:id': 'GamesController.index',它成功了。 :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-14
    • 1970-01-01
    • 2014-10-14
    • 2018-04-17
    相关资源
    最近更新 更多