在$ resource URL中使用locale

时间:2014-12-11 10:40:12

标签: angularjs locale ngresource

我的AngularJS应用程序从rails JSON API获取服务器数据,并且API路由已本地化,例如:

/:locale/api/categories/

我正在尝试定义一个可以启用本地化的$resource。到目前为止,我没有成功(请参阅我在下面尝试过的方法)。


首次尝试

$resource('/:localeId/api/categories/:categoryId', {
    localeId: $locale.id,
    categoryId: "@id",
    format: 'json'
})

这不起作用。 localeId仅在创建$resource时评估一次。

第二次尝试

$resource('/:localeId/api/categories/:categoryId', {
    localeId: "$locale.id",
    categoryId: "@id",
    format: 'json'
})

这也不起作用,生成的网址为/$locale.id/api/categories/

第三次尝试

$resource('/:localeId/api/categories/:categoryId', {
    localeId: "@localeId",
    categoryId: "@id",
    format: 'json'
})

这有效,但每次我使用localeId时都要求我定义$resource


是否有更好的方法可以在$locale.id网址中自动使用$resource

1 个答案:

答案 0 :(得分:0)

只需提供一个返回值(see documentation)的函数:

$resource('/:localeId/...', {
    localeId: function () {
        return $locale.id;
    },
    // ...
})